diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-04 15:19:29 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-04 15:19:29 -0500 |
| commit | 04d62d3420a2bbbf678ccb20e86938a4522e8097 (patch) | |
| tree | 932c8a088df8fcf4f0f69cca004196911e5a50c9 /MediaBrowser.Controller | |
| parent | 351cfef7a70ef311801be0bc9eb9e3891265d22b (diff) | |
convert episode providers to new system
Diffstat (limited to 'MediaBrowser.Controller')
8 files changed, 65 insertions, 34 deletions
diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index 61bf14543..3bdfc3c44 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -1,8 +1,8 @@ -using System; +using MediaBrowser.Model.Configuration; +using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; -using MediaBrowser.Model.Configuration; namespace MediaBrowser.Controller.Entities.TV { @@ -57,6 +57,12 @@ namespace MediaBrowser.Controller.Entities.TV /// </summary> /// <value>The absolute episode number.</value> public int? AbsoluteEpisodeNumber { get; set; } + + /// <summary> + /// This is the ending episode number for double episodes. + /// </summary> + /// <value>The index number.</value> + public int? IndexNumberEnd { get; set; } /// <summary> /// We want to group into series not show individually in an index @@ -89,7 +95,7 @@ namespace MediaBrowser.Controller.Entities.TV return value; } - var season = Parent as Season; + var season = Season; return season != null ? season.IndexNumber : null; } @@ -141,24 +147,20 @@ namespace MediaBrowser.Controller.Entities.TV } /// <summary> - /// The _series - /// </summary> - private Series _series; - /// <summary> /// This Episode's Series Instance /// </summary> /// <value>The series.</value> [IgnoreDataMember] public Series Series { - get { return _series ?? (_series = FindParent<Series>()); } + get { return FindParent<Series>(); } } - /// <summary> - /// This is the ending episode number for double episodes. - /// </summary> - /// <value>The index number.</value> - public int? IndexNumberEnd { get; set; } + [IgnoreDataMember] + public Season Season + { + get { return FindParent<Season>(); } + } /// <summary> /// Creates the name of the sort. @@ -217,7 +219,7 @@ namespace MediaBrowser.Controller.Entities.TV get { // First see if the parent is a Season - var season = Parent as Season; + var season = Season; if (season != null) { @@ -229,7 +231,7 @@ namespace MediaBrowser.Controller.Entities.TV // Parent is a Series if (seasonNumber.HasValue) { - var series = Parent as Series; + var series = Series; if (series != null) { diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 7bc815423..8a11cc9a0 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -144,7 +144,6 @@ <Compile Include="Persistence\IFileOrganizationRepository.cs" /> <Compile Include="Persistence\MediaStreamQuery.cs" /> <Compile Include="Providers\ICustomMetadataProvider.cs" /> - <Compile Include="Providers\IDynamicInfoProvider.cs" /> <Compile Include="Providers\IHasChangeMonitor.cs" /> <Compile Include="Providers\IHasMetadata.cs" /> <Compile Include="Providers\IImageProvider.cs" /> diff --git a/MediaBrowser.Controller/MediaInfo/IMediaEncoder.cs b/MediaBrowser.Controller/MediaInfo/IMediaEncoder.cs index 86b508012..e77cd14d1 100644 --- a/MediaBrowser.Controller/MediaInfo/IMediaEncoder.cs +++ b/MediaBrowser.Controller/MediaInfo/IMediaEncoder.cs @@ -1,7 +1,8 @@ -using System; +using MediaBrowser.Model.Entities; +using System; +using System.IO; using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Model.Entities; namespace MediaBrowser.Controller.MediaInfo { @@ -36,6 +37,18 @@ namespace MediaBrowser.Controller.MediaInfo Task ExtractImage(string[] inputFiles, InputType type, bool isAudio, Video3DFormat? threedFormat, TimeSpan? offset, string outputPath, CancellationToken cancellationToken); /// <summary> + /// Extracts the image. + /// </summary> + /// <param name="inputFiles">The input files.</param> + /// <param name="type">The type.</param> + /// <param name="isAudio">if set to <c>true</c> [is audio].</param> + /// <param name="threedFormat">The threed format.</param> + /// <param name="offset">The offset.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task{Stream}.</returns> + Task<Stream> ExtractImage(string[] inputFiles, InputType type, bool isAudio, Video3DFormat? threedFormat, TimeSpan? offset, CancellationToken cancellationToken); + + /// <summary> /// Extracts the text subtitle. /// </summary> /// <param name="inputFiles">The input files.</param> diff --git a/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs b/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs index a53222b5a..de75c62e9 100644 --- a/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs +++ b/MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs @@ -1,4 +1,5 @@ -using System.Threading; +using MediaBrowser.Controller.Library; +using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers @@ -10,6 +11,6 @@ namespace MediaBrowser.Controller.Providers public interface ICustomMetadataProvider<TItemType> : IMetadataProvider<TItemType>, ICustomMetadataProvider where TItemType : IHasMetadata { - Task FetchAsync(TItemType item, CancellationToken cancellationToken); + Task<ItemUpdateType> FetchAsync(TItemType item, CancellationToken cancellationToken); } } diff --git a/MediaBrowser.Controller/Providers/IDynamicInfoProvider.cs b/MediaBrowser.Controller/Providers/IDynamicInfoProvider.cs deleted file mode 100644 index 0f5dea5f6..000000000 --- a/MediaBrowser.Controller/Providers/IDynamicInfoProvider.cs +++ /dev/null @@ -1,10 +0,0 @@ - -namespace MediaBrowser.Controller.Providers -{ - /// <summary> - /// Marker interface for a provider that always runs - /// </summary> - public interface IDynamicInfoProvider - { - } -} diff --git a/MediaBrowser.Controller/Providers/IHasMetadata.cs b/MediaBrowser.Controller/Providers/IHasMetadata.cs index 1e2a76b79..3fba73a28 100644 --- a/MediaBrowser.Controller/Providers/IHasMetadata.cs +++ b/MediaBrowser.Controller/Providers/IHasMetadata.cs @@ -17,6 +17,12 @@ namespace MediaBrowser.Controller.Providers string GetPreferredMetadataCountryCode(); /// <summary> + /// Gets the date modified. + /// </summary> + /// <value>The date modified.</value> + DateTime DateModified { get; } + + /// <summary> /// Gets the locked fields. /// </summary> /// <value>The locked fields.</value> diff --git a/MediaBrowser.Controller/Providers/ILocalImageProvider.cs b/MediaBrowser.Controller/Providers/ILocalImageProvider.cs index 5c3ebd9ac..ed7cdc8b2 100644 --- a/MediaBrowser.Controller/Providers/ILocalImageProvider.cs +++ b/MediaBrowser.Controller/Providers/ILocalImageProvider.cs @@ -26,7 +26,7 @@ namespace MediaBrowser.Controller.Providers public ImageType Type { get; set; } } - public interface IDynamicImageProvider : ILocalImageProvider + public interface IDynamicImageProvider : IImageProvider { /// <summary> /// Gets the supported images. diff --git a/MediaBrowser.Controller/Providers/ItemId.cs b/MediaBrowser.Controller/Providers/ItemId.cs index 3dbaa78fa..9be6b783c 100644 --- a/MediaBrowser.Controller/Providers/ItemId.cs +++ b/MediaBrowser.Controller/Providers/ItemId.cs @@ -31,6 +31,8 @@ namespace MediaBrowser.Controller.Providers /// </summary> /// <value>The year.</value> public int? Year { get; set; } + public int? IndexNumber { get; set; } + public int? ParentIndexNumber { get; set; } public ItemId() { @@ -45,11 +47,17 @@ namespace MediaBrowser.Controller.Providers /// </summary> /// <value>The album artist.</value> public string AlbumArtist { get; set; } + /// <summary> - /// Gets or sets the artist music brainz identifier. + /// Gets or sets the artist provider ids. /// </summary> - /// <value>The artist music brainz identifier.</value> - public string ArtistMusicBrainzId { get; set; } + /// <value>The artist provider ids.</value> + public Dictionary<string, string> ArtistProviderIds { get; set; } + + public AlbumId() + { + ArtistProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); + } } public class GameId : ItemId @@ -69,4 +77,16 @@ namespace MediaBrowser.Controller.Providers /// <value>The path.</value> public string Path { get; set; } } + + public class EpisodeId : ItemId + { + public Dictionary<string, string> SeriesProviderIds { get; set; } + + public int? IndexNumberEnd { get; set; } + + public EpisodeId() + { + SeriesProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); + } + } } |
