diff options
| -rw-r--r-- | MediaBrowser.Api/AlbumsService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/GamesService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/MoviesService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/SimilarItemsHelper.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/TrailersService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/TvShowsService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/LibraryManager.cs | 9 |
7 files changed, 12 insertions, 11 deletions
diff --git a/MediaBrowser.Api/AlbumsService.cs b/MediaBrowser.Api/AlbumsService.cs index 2b68e432e..c1a476e09 100644 --- a/MediaBrowser.Api/AlbumsService.cs +++ b/MediaBrowser.Api/AlbumsService.cs @@ -46,7 +46,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetSimilarAlbums request) { - var result = SimilarItemsHelper.GetSimilarItems(_userManager, + var result = SimilarItemsHelper.GetSimilarItemsResult(_userManager, _itemRepo, _libraryManager, _userDataRepository, diff --git a/MediaBrowser.Api/GamesService.cs b/MediaBrowser.Api/GamesService.cs index 4529a9c53..0073397dd 100644 --- a/MediaBrowser.Api/GamesService.cs +++ b/MediaBrowser.Api/GamesService.cs @@ -57,7 +57,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetSimilarGames request) { - var result = SimilarItemsHelper.GetSimilarItems(_userManager, + var result = SimilarItemsHelper.GetSimilarItemsResult(_userManager, _itemRepo, _libraryManager, _userDataRepository, diff --git a/MediaBrowser.Api/MoviesService.cs b/MediaBrowser.Api/MoviesService.cs index fe9f4cef1..166a843dc 100644 --- a/MediaBrowser.Api/MoviesService.cs +++ b/MediaBrowser.Api/MoviesService.cs @@ -64,7 +64,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetSimilarMovies request) { - var result = SimilarItemsHelper.GetSimilarItems(_userManager, + var result = SimilarItemsHelper.GetSimilarItemsResult(_userManager, _itemRepo, _libraryManager, _userDataRepository, diff --git a/MediaBrowser.Api/SimilarItemsHelper.cs b/MediaBrowser.Api/SimilarItemsHelper.cs index fd49af8de..5f5d6a2f3 100644 --- a/MediaBrowser.Api/SimilarItemsHelper.cs +++ b/MediaBrowser.Api/SimilarItemsHelper.cs @@ -89,7 +89,7 @@ namespace MediaBrowser.Api /// <param name="includeInSearch">The include in search.</param> /// <param name="getSimilarityScore">The get similarity score.</param> /// <returns>ItemsResult.</returns> - internal static ItemsResult GetSimilarItems(IUserManager userManager, IItemRepository itemRepository, ILibraryManager libraryManager, IUserDataRepository userDataRepository, ILogger logger, BaseGetSimilarItems request, Func<BaseItem, bool> includeInSearch, Func<BaseItem, BaseItem, int> getSimilarityScore) + internal static ItemsResult GetSimilarItemsResult(IUserManager userManager, IItemRepository itemRepository, ILibraryManager libraryManager, IUserDataRepository userDataRepository, ILogger logger, BaseGetSimilarItems request, Func<BaseItem, bool> includeInSearch, Func<BaseItem, BaseItem, int> getSimilarityScore) { var user = request.UserId.HasValue ? userManager.GetUserById(request.UserId.Value) : null; @@ -125,7 +125,7 @@ namespace MediaBrowser.Api /// <param name="includeInSearch">The include in search.</param> /// <param name="getSimilarityScore">The get similarity score.</param> /// <returns>IEnumerable{BaseItem}.</returns> - private static IEnumerable<BaseItem> GetSimilaritems(BaseItem item, IEnumerable<BaseItem> inputItems, Func<BaseItem, bool> includeInSearch, Func<BaseItem, BaseItem, int> getSimilarityScore) + internal static IEnumerable<BaseItem> GetSimilaritems(BaseItem item, IEnumerable<BaseItem> inputItems, Func<BaseItem, bool> includeInSearch, Func<BaseItem, BaseItem, int> getSimilarityScore) { inputItems = inputItems.Where(includeInSearch); diff --git a/MediaBrowser.Api/TrailersService.cs b/MediaBrowser.Api/TrailersService.cs index 777aced07..96eb5b6c0 100644 --- a/MediaBrowser.Api/TrailersService.cs +++ b/MediaBrowser.Api/TrailersService.cs @@ -57,7 +57,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetSimilarTrailers request) { - var result = SimilarItemsHelper.GetSimilarItems(_userManager, + var result = SimilarItemsHelper.GetSimilarItemsResult(_userManager, _itemRepo, _libraryManager, _userDataRepository, diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs index f5d3c9991..4d277dc38 100644 --- a/MediaBrowser.Api/TvShowsService.cs +++ b/MediaBrowser.Api/TvShowsService.cs @@ -123,7 +123,7 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetSimilarShows request) { - var result = SimilarItemsHelper.GetSimilarItems(_userManager, + var result = SimilarItemsHelper.GetSimilarItemsResult(_userManager, _itemRepo, _libraryManager, _userDataRepository, diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs index e06107b63..58c89141f 100644 --- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs +++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs @@ -376,14 +376,15 @@ namespace MediaBrowser.Server.Implementations.Library // Get all user collection folders // Skip BasePluginFolders because we already got them from RootFolder.RecursiveChildren - var userFolders = - userRootFolders.SelectMany(i => i.Children) + var userFolders = userRootFolders.SelectMany(i => i.Children) .Where(i => !(i is BasePluginFolder)) .ToList(); items.AddRange(userFolders); - return new ConcurrentDictionary<Guid, BaseItem>(items.ToDictionary(i => i.Id)); + var disctinctItems = items.DistinctBy(i => i.Id).ToList(); + + return new ConcurrentDictionary<Guid, BaseItem>(disctinctItems.ToDictionary(i => i.Id)); } /// <summary> @@ -846,7 +847,7 @@ namespace MediaBrowser.Server.Implementations.Library var tasks = new List<Task>(); - var includedPersonTypes = new[] { PersonType.Actor, PersonType.Director, PersonType.GuestStar, PersonType.Writer, PersonType.Director, PersonType.Producer } + var includedPersonTypes = new[] { PersonType.Actor, PersonType.Director, PersonType.GuestStar, PersonType.Writer, PersonType.Producer } .ToDictionary(i => i, StringComparer.OrdinalIgnoreCase); var people = RootFolder.RecursiveChildren |
