aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-04 15:19:29 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-04 15:19:29 -0500
commit04d62d3420a2bbbf678ccb20e86938a4522e8097 (patch)
tree932c8a088df8fcf4f0f69cca004196911e5a50c9 /MediaBrowser.Controller
parent351cfef7a70ef311801be0bc9eb9e3891265d22b (diff)
convert episode providers to new system
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Entities/TV/Episode.cs32
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Controller/MediaInfo/IMediaEncoder.cs17
-rw-r--r--MediaBrowser.Controller/Providers/ICustomMetadataProvider.cs5
-rw-r--r--MediaBrowser.Controller/Providers/IDynamicInfoProvider.cs10
-rw-r--r--MediaBrowser.Controller/Providers/IHasMetadata.cs6
-rw-r--r--MediaBrowser.Controller/Providers/ILocalImageProvider.cs2
-rw-r--r--MediaBrowser.Controller/Providers/ItemId.cs26
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);
+ }
+ }
}