浏览代码

update intro queries

Luke Pulverenti 8 年之前
父节点
当前提交
ba9222898b

+ 2 - 2
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -3368,9 +3368,9 @@ namespace Emby.Server.Implementations.Data
                 }
             }
 
-            if (query.SimilarTo != null)
+            if (query.SimilarTo != null && query.MinSimilarityScore > 0)
             {
-                whereClauses.Add("SimilarityScore > 0");
+                whereClauses.Add("SimilarityScore > " + (query.MinSimilarityScore - 1).ToString(CultureInfo.InvariantCulture));
             }
 
             if (query.IsFolder.HasValue)

+ 8 - 2
Emby.Server.Implementations/Intros/DefaultIntroProvider.cs

@@ -100,7 +100,12 @@ namespace Emby.Server.Implementations.Intros
 
             if (trailerTypes.Count > 0)
             {
-                var trailerResult = _libraryManager.GetItemList(new InternalItemsQuery
+                if (trailerTypes.Count >= 5)
+                {
+                    trailerTypes.Clear();
+                }
+
+                var trailerResult = _libraryManager.GetItemList(new InternalItemsQuery(user)
                 {
                     IncludeItemTypes = new[] { typeof(Trailer).Name },
                     TrailerTypes = trailerTypes.ToArray(),
@@ -111,7 +116,8 @@ namespace Emby.Server.Implementations.Intros
 
                     // Account for duplicates by imdb id, since the database doesn't support this yet
                     Limit = config.TrailerLimit * 2,
-                    SourceTypes = sourceTypes.ToArray()
+                    SourceTypes = sourceTypes.ToArray(),
+                    MinSimilarityScore = 0
 
                 }).Where(i => string.IsNullOrWhiteSpace(i.GetProviderId(MetadataProviders.Imdb)) || !string.Equals(i.GetProviderId(MetadataProviders.Imdb), item.GetProviderId(MetadataProviders.Imdb), StringComparison.OrdinalIgnoreCase)).Take(config.TrailerLimit);
 

+ 1 - 0
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -53,6 +53,7 @@ namespace MediaBrowser.Controller.Entities
             ImageInfos = new List<ItemImageInfo>();
             InheritedTags = new List<string>();
             ProductionLocations = new List<string>();
+            SourceType = SourceType.Library;
         }
 
         public static readonly char[] SlugReplaceChars = { '?', '/', '&' };

+ 3 - 0
MediaBrowser.Controller/Entities/InternalItemsQuery.cs

@@ -160,6 +160,7 @@ namespace MediaBrowser.Controller.Entities
         public DateTime? MinDateLastSaved { get; set; }
 
         public DtoOptions DtoOptions { get; set; }
+        public int MinSimilarityScore { get; set; }
 
         public bool HasField(ItemFields name)
         {
@@ -197,6 +198,8 @@ namespace MediaBrowser.Controller.Entities
 
         public InternalItemsQuery()
         {
+            MinSimilarityScore = 1;
+
             GroupByPresentationUniqueKey = true;
             EnableTotalRecordCount = true;