diff options
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Audio/MusicArtist.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/InternalItemsQuery.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/Studio.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/TV/Series.cs | 28 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserViewBuilder.cs | 36 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Playlists/Playlist.cs | 2 |
6 files changed, 25 insertions, 51 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs index fd20f2ab4..1d2716b64 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs @@ -69,7 +69,7 @@ namespace MediaBrowser.Controller.Entities.Audio if (query.IncludeItemTypes.Length == 0) { query.IncludeItemTypes = new[] { typeof(Audio).Name, typeof(MusicVideo).Name, typeof(MusicAlbum).Name }; - query.ArtistNames = new[] { Name }; + query.ArtistIds = new[] { Id.ToString("N") }; } return LibraryManager.GetItemList(query); diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs index a2d278a71..15af0888d 100644 --- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs +++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs @@ -83,7 +83,6 @@ namespace MediaBrowser.Controller.Entities public bool? HasTrailer { get; set; } public bool? HasParentalRating { get; set; } - public string[] Studios { get; set; } public string[] StudioIds { get; set; } public string[] GenreIds { get; set; } public ImageType[] ImageTypes { get; set; } @@ -144,7 +143,7 @@ namespace MediaBrowser.Controller.Entities public string ExternalId { get; set; } public string[] AlbumNames { get; set; } - public string[] ArtistNames { get; set; } + public string[] ArtistIds { get; set; } public string[] ExcludeArtistIds { get; set; } public string AncestorWithPresentationUniqueKey { get; set; } public string SeriesPresentationUniqueKey { get; set; } @@ -203,7 +202,7 @@ namespace MediaBrowser.Controller.Entities DtoOptions = new DtoOptions(); AlbumNames = new string[] { }; - ArtistNames = new string[] { }; + ArtistIds = new string[] { }; ExcludeArtistIds = new string[] { }; ExcludeProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); @@ -216,7 +215,6 @@ namespace MediaBrowser.Controller.Entities IncludeItemTypes = new string[] { }; ExcludeItemTypes = new string[] { }; Genres = new string[] { }; - Studios = new string[] { }; StudioIds = new string[] { }; GenreIds = new string[] { }; ImageTypes = new ImageType[] { }; diff --git a/MediaBrowser.Controller/Entities/Studio.cs b/MediaBrowser.Controller/Entities/Studio.cs index ec623eeda..c14dd70bf 100644 --- a/MediaBrowser.Controller/Entities/Studio.cs +++ b/MediaBrowser.Controller/Entities/Studio.cs @@ -83,7 +83,7 @@ namespace MediaBrowser.Controller.Entities public IEnumerable<BaseItem> GetTaggedItems(InternalItemsQuery query) { - query.Studios = new[] { Name }; + query.StudioIds = new[] { Id.ToString("N") }; return LibraryManager.GetItemList(query); } diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index 872011ce8..eea11b167 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -249,18 +249,24 @@ namespace MediaBrowser.Controller.Entities.TV public IEnumerable<Season> GetSeasons(User user) { + var query = new InternalItemsQuery(user); + + SetSeasonQueryOptions(query, user); + + return LibraryManager.GetItemList(query).Cast<Season>(); + } + + private void SetSeasonQueryOptions(InternalItemsQuery query, User user) + { var config = user.Configuration; var enableSeriesPresentationKey = ConfigurationManager.Configuration.EnableSeriesPresentationUniqueKey; var seriesKey = GetUniqueSeriesKey(this); - var query = new InternalItemsQuery(user) - { - AncestorWithPresentationUniqueKey = enableSeriesPresentationKey ? null : seriesKey, - SeriesPresentationUniqueKey = enableSeriesPresentationKey ? seriesKey : null, - IncludeItemTypes = new[] { typeof(Season).Name }, - SortBy = new[] { ItemSortBy.SortName } - }; + query.AncestorWithPresentationUniqueKey = enableSeriesPresentationKey ? null : seriesKey; + query.SeriesPresentationUniqueKey = enableSeriesPresentationKey ? seriesKey : null; + query.IncludeItemTypes = new[] { typeof(Season).Name }; + query.SortBy = new[] {ItemSortBy.SortName}; if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes) { @@ -274,8 +280,6 @@ namespace MediaBrowser.Controller.Entities.TV { query.IsVirtualUnaired = false; } - - return LibraryManager.GetItemList(query).Cast<Season>(); } protected override Task<QueryResult<BaseItem>> GetItemsInternal(InternalItemsQuery query) @@ -306,11 +310,9 @@ namespace MediaBrowser.Controller.Entities.TV return Task.FromResult(LibraryManager.GetItemsResult(query)); } - Func<BaseItem, bool> filter = i => UserViewBuilder.Filter(i, user, query, UserDataManager, LibraryManager); + SetSeasonQueryOptions(query, user); - var items = GetSeasons(user).Where(filter); - var result = PostFilterAndSort(items, query, false, true); - return Task.FromResult(result); + return Task.FromResult(LibraryManager.GetItemsResult(query)); } public IEnumerable<Episode> GetEpisodes(User user) diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index d5781d21e..58d2cdc6c 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -203,9 +203,6 @@ namespace MediaBrowser.Controller.Entities case SpecialFolder.MusicGenres: return GetMusicGenres(queryParent, user, query); - case SpecialFolder.MusicGenre: - return await GetMusicGenreItems(queryParent, displayParent, user, query).ConfigureAwait(false); - case SpecialFolder.MusicLatest: return GetMusicLatest(queryParent, user, query); @@ -306,18 +303,6 @@ namespace MediaBrowser.Controller.Entities }; } - private async Task<QueryResult<BaseItem>> GetMusicGenreItems(Folder queryParent, Folder displayParent, User user, InternalItemsQuery query) - { - query.Recursive = true; - query.ParentId = queryParent.Id; - query.Genres = new[] { displayParent.Name }; - query.SetUser(user); - - query.IncludeItemTypes = new[] { typeof(MusicAlbum).Name }; - - return _libraryManager.GetItemsResult(query); - } - private QueryResult<BaseItem> GetMusicAlbumArtists(Folder parent, User user, InternalItemsQuery query) { var artists = _libraryManager.GetAlbumArtists(new InternalItemsQuery(user) @@ -1020,11 +1005,6 @@ namespace MediaBrowser.Controller.Entities return false; } - if (request.Studios.Length > 0) - { - return false; - } - if (request.StudioIds.Length > 0) { return false; @@ -1530,12 +1510,6 @@ namespace MediaBrowser.Controller.Entities } // Apply studio filter - if (query.Studios.Length > 0 && !query.Studios.Any(v => item.Studios.Contains(v, StringComparer.OrdinalIgnoreCase))) - { - return false; - } - - // Apply studio filter if (query.StudioIds.Length > 0 && !query.StudioIds.Any(id => { var studioItem = libraryManager.GetItemById(id); @@ -1748,14 +1722,14 @@ namespace MediaBrowser.Controller.Entities } // Artists - if (query.ArtistNames.Length > 0) + if (query.ArtistIds.Length > 0) { var audio = item as IHasArtist; - if (!(audio != null && query.ArtistNames.Any(audio.HasAnyArtist))) - { - return false; - } + //if (!(audio != null && query.ArtistNames.Any(audio.HasAnyArtist))) + //{ + // return false; + //} } // Albums diff --git a/MediaBrowser.Controller/Playlists/Playlist.cs b/MediaBrowser.Controller/Playlists/Playlist.cs index 02e736d99..9087a6e1d 100644 --- a/MediaBrowser.Controller/Playlists/Playlist.cs +++ b/MediaBrowser.Controller/Playlists/Playlist.cs @@ -153,7 +153,7 @@ namespace MediaBrowser.Controller.Playlists : user.RootFolder.GetRecursiveChildren(user, new InternalItemsQuery(user) { IncludeItemTypes = new[] { typeof(Audio).Name }, - ArtistNames = new[] { musicArtist.Name } + ArtistIds = new[] { musicArtist.Id.ToString("N") } }); return LibraryManager.Sort(items, user, new[] { ItemSortBy.AlbumArtist, ItemSortBy.Album, ItemSortBy.SortName }, SortOrder.Ascending); |
