aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicArtist.cs2
-rw-r--r--MediaBrowser.Controller/Entities/InternalItemsQuery.cs6
-rw-r--r--MediaBrowser.Controller/Entities/Studio.cs2
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs28
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs36
-rw-r--r--MediaBrowser.Controller/Playlists/Playlist.cs2
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);