From 5cd3276775461d96d912d47fbae6857b887b98d0 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 8 Oct 2016 01:57:38 -0400 Subject: pass requested fields to data layer --- MediaBrowser.Controller/Entities/Audio/Audio.cs | 18 +--------- .../Entities/Audio/MusicArtist.cs | 9 +---- MediaBrowser.Controller/Entities/BaseItem.cs | 2 ++ MediaBrowser.Controller/Entities/IArchivable.cs | 8 ----- .../Entities/IHasProductionLocations.cs | 34 ------------------- MediaBrowser.Controller/Entities/IHasTaglines.cs | 39 ---------------------- .../Entities/InternalItemsQuery.cs | 34 +++++++++++++++++++ MediaBrowser.Controller/Entities/Movies/Movie.cs | 4 +-- MediaBrowser.Controller/Entities/MusicVideo.cs | 4 +-- MediaBrowser.Controller/Entities/Photo.cs | 10 +----- MediaBrowser.Controller/Entities/TV/Series.cs | 5 +-- MediaBrowser.Controller/Entities/Trailer.cs | 12 +------ .../Entities/UserViewBuilder.cs | 2 +- MediaBrowser.Controller/Entities/Video.cs | 18 +--------- MediaBrowser.Controller/LiveTv/ILiveTvManager.cs | 4 +-- .../MediaBrowser.Controller.csproj | 3 -- .../Providers/BaseItemXmlParser.cs | 17 +--------- 17 files changed, 47 insertions(+), 176 deletions(-) delete mode 100644 MediaBrowser.Controller/Entities/IArchivable.cs delete mode 100644 MediaBrowser.Controller/Entities/IHasProductionLocations.cs delete mode 100644 MediaBrowser.Controller/Entities/IHasTaglines.cs (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs index 599e72314d..00657370e1 100644 --- a/MediaBrowser.Controller/Entities/Audio/Audio.cs +++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs @@ -23,8 +23,7 @@ namespace MediaBrowser.Controller.Entities.Audio IHasMusicGenres, IHasLookupInfo, IHasMediaSources, - IThemeMedia, - IArchivable + IThemeMedia { public List ChannelMediaSources { get; set; } @@ -84,21 +83,6 @@ namespace MediaBrowser.Controller.Entities.Audio } } - [IgnoreDataMember] - public bool IsArchive - { - get - { - if (string.IsNullOrWhiteSpace(Path)) - { - return false; - } - var ext = System.IO.Path.GetExtension(Path) ?? string.Empty; - - return new[] { ".zip", ".rar", ".7z" }.Contains(ext, StringComparer.OrdinalIgnoreCase); - } - } - public override bool CanDownload() { var locationType = LocationType; diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs index 81d1deaa23..076a7031aa 100644 --- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs +++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs @@ -16,7 +16,7 @@ namespace MediaBrowser.Controller.Entities.Audio /// /// Class MusicArtist /// - public class MusicArtist : Folder, IMetadataContainer, IItemByName, IHasMusicGenres, IHasDualAccess, IHasProductionLocations, IHasLookupInfo + public class MusicArtist : Folder, IMetadataContainer, IItemByName, IHasMusicGenres, IHasDualAccess, IHasLookupInfo { [IgnoreDataMember] public bool IsAccessedByName @@ -24,8 +24,6 @@ namespace MediaBrowser.Controller.Entities.Audio get { return ParentId == Guid.Empty; } } - public List ProductionLocations { get; set; } - [IgnoreDataMember] public override bool IsFolder { @@ -111,11 +109,6 @@ namespace MediaBrowser.Controller.Entities.Audio return base.ValidateChildrenInternal(progress, cancellationToken, recursive, refreshChildMetadata, refreshOptions, directoryService); } - public MusicArtist() - { - ProductionLocations = new List(); - } - public override List GetUserDataKeys() { var list = base.GetUserDataKeys(); diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 90a22b2171..eb84765fba 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -73,6 +73,8 @@ namespace MediaBrowser.Controller.Entities public long? Size { get; set; } public string Container { get; set; } public string ShortOverview { get; set; } + [IgnoreDataMember] + public string Tagline { get; set; } public List ImageInfos { get; set; } diff --git a/MediaBrowser.Controller/Entities/IArchivable.cs b/MediaBrowser.Controller/Entities/IArchivable.cs deleted file mode 100644 index 575d203a7c..0000000000 --- a/MediaBrowser.Controller/Entities/IArchivable.cs +++ /dev/null @@ -1,8 +0,0 @@ - -namespace MediaBrowser.Controller.Entities -{ - public interface IArchivable - { - bool IsArchive { get; } - } -} diff --git a/MediaBrowser.Controller/Entities/IHasProductionLocations.cs b/MediaBrowser.Controller/Entities/IHasProductionLocations.cs deleted file mode 100644 index e4652fa8d0..0000000000 --- a/MediaBrowser.Controller/Entities/IHasProductionLocations.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; - -namespace MediaBrowser.Controller.Entities -{ - /// - /// Interface IHasProductionLocations - /// - public interface IHasProductionLocations - { - /// - /// Gets or sets the production locations. - /// - /// The production locations. - List ProductionLocations { get; set; } - } - - public static class ProductionLocationExtensions - { - public static void AddProductionLocation(this IHasProductionLocations item, string name) - { - if (string.IsNullOrWhiteSpace(name)) - { - throw new ArgumentNullException("name"); - } - - if (!item.ProductionLocations.Contains(name, StringComparer.OrdinalIgnoreCase)) - { - item.ProductionLocations.Add(name); - } - } - } -} diff --git a/MediaBrowser.Controller/Entities/IHasTaglines.cs b/MediaBrowser.Controller/Entities/IHasTaglines.cs deleted file mode 100644 index 8025d6b440..0000000000 --- a/MediaBrowser.Controller/Entities/IHasTaglines.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; - -namespace MediaBrowser.Controller.Entities -{ - /// - /// Interface IHasTaglines - /// - public interface IHasTaglines - { - /// - /// Gets or sets the taglines. - /// - /// The taglines. - List Taglines { get; set; } - } - - public static class TaglineExtensions - { - /// - /// Adds the tagline. - /// - /// The tagline. - /// tagline - public static void AddTagline(this IHasTaglines item, string tagline) - { - if (string.IsNullOrWhiteSpace(tagline)) - { - throw new ArgumentNullException("tagline"); - } - - if (!item.Taglines.Contains(tagline, StringComparer.OrdinalIgnoreCase)) - { - item.Taglines.Add(tagline); - } - } - } -} diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs index 89fe71d3c7..0a857a4770 100644 --- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs +++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs @@ -2,6 +2,8 @@ using System; using System.Collections.Generic; using MediaBrowser.Model.Configuration; +using System.Linq; +using MediaBrowser.Model.Querying; namespace MediaBrowser.Controller.Entities { @@ -157,11 +159,43 @@ namespace MediaBrowser.Controller.Entities public DateTime? MinDateCreated { get; set; } public DateTime? MinDateLastSaved { get; set; } + public List Fields { get; set; } + + public bool HasField(ItemFields name) + { + switch (name) + { + case ItemFields.Keywords: + case ItemFields.Taglines: + case ItemFields.ShortOverview: + case ItemFields.CustomRating: + case ItemFields.DateCreated: + case ItemFields.SortName: + case ItemFields.Overview: + case ItemFields.OfficialRatingDescription: + case ItemFields.HomePageUrl: + case ItemFields.VoteCount: + case ItemFields.DisplayMediaType: + case ItemFields.ServiceName: + case ItemFields.Genres: + case ItemFields.Studios: + case ItemFields.Settings: + case ItemFields.OriginalTitle: + case ItemFields.Tags: + case ItemFields.DateLastMediaAdded: + case ItemFields.CriticRatingSummary: + return Fields.Count == 0 || Fields.Contains(name); + default: + return true; + } + } + public InternalItemsQuery() { GroupByPresentationUniqueKey = true; EnableTotalRecordCount = true; + Fields = new List(); AlbumNames = new string[] { }; ArtistNames = new string[] { }; ExcludeArtistIds = new string[] { }; diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs index e1e336147a..8120b0028b 100644 --- a/MediaBrowser.Controller/Entities/Movies/Movie.cs +++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs @@ -15,13 +15,12 @@ namespace MediaBrowser.Controller.Entities.Movies /// /// Class Movie /// - public class Movie : Video, IHasCriticRating, IHasSpecialFeatures, IHasProductionLocations, IHasBudget, IHasTrailers, IHasThemeMedia, IHasTaglines, IHasAwards, IHasMetascore, IHasLookupInfo, ISupportsBoxSetGrouping, IHasOriginalTitle + public class Movie : Video, IHasCriticRating, IHasSpecialFeatures, IHasBudget, IHasTrailers, IHasThemeMedia, IHasAwards, IHasMetascore, IHasLookupInfo, ISupportsBoxSetGrouping, IHasOriginalTitle { public List SpecialFeatureIds { get; set; } public List ThemeSongIds { get; set; } public List ThemeVideoIds { get; set; } - public List ProductionLocations { get; set; } public Movie() { @@ -32,7 +31,6 @@ namespace MediaBrowser.Controller.Entities.Movies ThemeSongIds = new List(); ThemeVideoIds = new List(); Taglines = new List(); - ProductionLocations = new List(); } public string AwardSummary { get; set; } diff --git a/MediaBrowser.Controller/Entities/MusicVideo.cs b/MediaBrowser.Controller/Entities/MusicVideo.cs index 9254802dd3..6e632a26cf 100644 --- a/MediaBrowser.Controller/Entities/MusicVideo.cs +++ b/MediaBrowser.Controller/Entities/MusicVideo.cs @@ -6,7 +6,7 @@ using System.Runtime.Serialization; namespace MediaBrowser.Controller.Entities { - public class MusicVideo : Video, IHasArtist, IHasMusicGenres, IHasProductionLocations, IHasBudget, IHasLookupInfo + public class MusicVideo : Video, IHasArtist, IHasMusicGenres, IHasBudget, IHasLookupInfo { /// /// Gets or sets the budget. @@ -19,12 +19,10 @@ namespace MediaBrowser.Controller.Entities /// /// The revenue. public double? Revenue { get; set; } - public List ProductionLocations { get; set; } public List Artists { get; set; } public MusicVideo() { - ProductionLocations = new List(); Artists = new List(); } diff --git a/MediaBrowser.Controller/Entities/Photo.cs b/MediaBrowser.Controller/Entities/Photo.cs index 965616eb53..41e25e4062 100644 --- a/MediaBrowser.Controller/Entities/Photo.cs +++ b/MediaBrowser.Controller/Entities/Photo.cs @@ -1,19 +1,11 @@ using MediaBrowser.Model.Drawing; -using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; namespace MediaBrowser.Controller.Entities { - public class Photo : BaseItem, IHasTaglines + public class Photo : BaseItem { - public List Taglines { get; set; } - - public Photo() - { - Taglines = new List(); - } - [IgnoreDataMember] public override bool SupportsLocalMetadata { diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index 7e8ba05167..39703f67ac 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -17,17 +17,14 @@ namespace MediaBrowser.Controller.Entities.TV /// /// Class Series /// - public class Series : Folder, IHasTrailers, IHasDisplayOrder, IHasLookupInfo, IHasSpecialFeatures, IMetadataContainer, IHasOriginalTitle + public class Series : Folder, IHasTrailers, IHasDisplayOrder, IHasLookupInfo, IMetadataContainer, IHasOriginalTitle { - public List SpecialFeatureIds { get; set; } - public int? AnimeSeriesIndex { get; set; } public Series() { AirDays = new List(); - SpecialFeatureIds = new List(); RemoteTrailers = new List(); LocalTrailerIds = new List(); RemoteTrailerIds = new List(); diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs index f68cd2c856..0bcd5c14e8 100644 --- a/MediaBrowser.Controller/Entities/Trailer.cs +++ b/MediaBrowser.Controller/Entities/Trailer.cs @@ -10,16 +10,12 @@ namespace MediaBrowser.Controller.Entities /// /// Class Trailer /// - public class Trailer : Video, IHasCriticRating, IHasProductionLocations, IHasBudget, IHasTaglines, IHasMetascore, IHasOriginalTitle, IHasLookupInfo + public class Trailer : Video, IHasCriticRating, IHasBudget, IHasMetascore, IHasOriginalTitle, IHasLookupInfo { - public List ProductionLocations { get; set; } - public Trailer() { RemoteTrailers = new List(); - Taglines = new List(); Keywords = new List(); - ProductionLocations = new List(); TrailerTypes = new List { TrailerType.LocalTrailer }; } @@ -35,12 +31,6 @@ namespace MediaBrowser.Controller.Entities get { return TrailerTypes.Contains(TrailerType.LocalTrailer); } } - /// - /// Gets or sets the taglines. - /// - /// The taglines. - public List Taglines { get; set; } - /// /// Gets or sets the budget. /// diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs index 9f3acc3fc3..8a64be7145 100644 --- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs +++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs @@ -96,7 +96,7 @@ namespace MediaBrowser.Controller.Entities Limit = query.Limit, IsAiring = true - }, CancellationToken.None).ConfigureAwait(false); + }, new Dto.DtoOptions(), CancellationToken.None).ConfigureAwait(false); return GetResult(result); } diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs index c64cdf57da..b94973e2b2 100644 --- a/MediaBrowser.Controller/Entities/Video.cs +++ b/MediaBrowser.Controller/Entities/Video.cs @@ -25,8 +25,7 @@ namespace MediaBrowser.Controller.Entities ISupportsPlaceHolders, IHasMediaSources, IHasShortOverview, - IThemeMedia, - IArchivable + IThemeMedia { [IgnoreDataMember] public string PrimaryVersionId { get; set; } @@ -197,21 +196,6 @@ namespace MediaBrowser.Controller.Entities get { return LocalAlternateVersions.Count > 0; } } - [IgnoreDataMember] - public bool IsArchive - { - get - { - if (string.IsNullOrWhiteSpace(Path)) - { - return false; - } - var ext = System.IO.Path.GetExtension(Path) ?? string.Empty; - - return new[] { ".zip", ".rar", ".7z" }.Contains(ext, StringComparer.OrdinalIgnoreCase); - } - } - public IEnumerable GetAdditionalPartIds() { return AdditionalParts.Select(i => LibraryManager.GetNewItemId(i, typeof(Video))); diff --git a/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs b/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs index a381c7980b..7e48f3d21b 100644 --- a/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs +++ b/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs @@ -242,10 +242,8 @@ namespace MediaBrowser.Controller.LiveTv /// /// Gets the recommended programs internal. /// - /// The query. - /// The cancellation token. /// Task<QueryResult<LiveTvProgram>>. - Task> GetRecommendedProgramsInternal(RecommendedProgramQuery query, CancellationToken cancellationToken); + Task> GetRecommendedProgramsInternal(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken); /// /// Gets the live tv information. diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 7c1114e22c..06ec43206b 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -132,7 +132,6 @@ - @@ -144,14 +143,12 @@ - - diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index fccbd9211f..d2125fd5e9 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -893,14 +893,6 @@ namespace MediaBrowser.Controller.Providers if (!string.IsNullOrWhiteSpace(val)) { - var hasProductionLocations = item as IHasProductionLocations; - if (hasProductionLocations != null) - { - if (!string.IsNullOrWhiteSpace(val)) - { - hasProductionLocations.AddProductionLocation(val); - } - } } break; } @@ -934,14 +926,7 @@ namespace MediaBrowser.Controller.Providers if (!string.IsNullOrWhiteSpace(val)) { - var hasTaglines = item as IHasTaglines; - if (hasTaglines != null) - { - if (!string.IsNullOrWhiteSpace(val)) - { - hasTaglines.AddTagline(val); - } - } + item.Tagline = val; } break; } -- cgit v1.2.3