diff options
Diffstat (limited to 'MediaBrowser.Controller/Providers')
22 files changed, 90 insertions, 243 deletions
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index 383d0881e9..3e53538124 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -61,7 +61,16 @@ namespace MediaBrowser.Controller.Providers }; //Fetch(item, metadataFile, settings, Encoding.GetEncoding("ISO-8859-1"), cancellationToken); - Fetch(item, metadataFile, settings, Encoding.UTF8, cancellationToken); + + try + { + Fetch(item, metadataFile, settings, Encoding.UTF8, cancellationToken); + } + catch + { + Logger.Error("Error parsing xml file {0}", metadataFile); + throw; + } } /// <summary> @@ -304,11 +313,7 @@ namespace MediaBrowser.Controller.Providers { var val = reader.ReadElementContentAsString(); - var hasLanguage = item as IHasPreferredMetadataLanguage; - if (hasLanguage != null) - { - hasLanguage.PreferredMetadataLanguage = val; - } + item.PreferredMetadataLanguage = val; break; } @@ -317,11 +322,7 @@ namespace MediaBrowser.Controller.Providers { var val = reader.ReadElementContentAsString(); - var hasLanguage = item as IHasPreferredMetadataLanguage; - if (hasLanguage != null) - { - hasLanguage.PreferredMetadataCountryCode = val; - } + item.PreferredMetadataCountryCode = val; break; } diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs index 79ffb0d01f..cf1c3d286d 100644 --- a/MediaBrowser.Controller/Providers/DirectoryService.cs +++ b/MediaBrowser.Controller/Providers/DirectoryService.cs @@ -4,48 +4,52 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Linq; +using CommonIO; +using MediaBrowser.Common.IO; namespace MediaBrowser.Controller.Providers { public class DirectoryService : IDirectoryService { private readonly ILogger _logger; + private readonly IFileSystem _fileSystem; - private readonly ConcurrentDictionary<string, Dictionary<string,FileSystemInfo>> _cache = - new ConcurrentDictionary<string, Dictionary<string, FileSystemInfo>>(StringComparer.OrdinalIgnoreCase); + private readonly ConcurrentDictionary<string, Dictionary<string, FileSystemMetadata>> _cache = + new ConcurrentDictionary<string, Dictionary<string, FileSystemMetadata>>(StringComparer.OrdinalIgnoreCase); - public DirectoryService(ILogger logger) + public DirectoryService(ILogger logger, IFileSystem fileSystem) { _logger = logger; + _fileSystem = fileSystem; } - public DirectoryService() - : this(new NullLogger()) + public DirectoryService(IFileSystem fileSystem) + : this(new NullLogger(), fileSystem) { } - public IEnumerable<FileSystemInfo> GetFileSystemEntries(string path) + public IEnumerable<FileSystemMetadata> GetFileSystemEntries(string path) { return GetFileSystemEntries(path, false); } - public Dictionary<string, FileSystemInfo> GetFileSystemDictionary(string path) + public Dictionary<string, FileSystemMetadata> GetFileSystemDictionary(string path) { return GetFileSystemDictionary(path, false); } - private Dictionary<string, FileSystemInfo> GetFileSystemDictionary(string path, bool clearCache) + private Dictionary<string, FileSystemMetadata> GetFileSystemDictionary(string path, bool clearCache) { if (string.IsNullOrWhiteSpace(path)) { throw new ArgumentNullException("path"); } - Dictionary<string, FileSystemInfo> entries; + Dictionary<string, FileSystemMetadata> entries; if (clearCache) { - Dictionary<string, FileSystemInfo> removed; + Dictionary<string, FileSystemMetadata> removed; _cache.TryRemove(path, out removed); } @@ -54,13 +58,12 @@ namespace MediaBrowser.Controller.Providers { //_logger.Debug("Getting files for " + path); - entries = new Dictionary<string, FileSystemInfo>(StringComparer.OrdinalIgnoreCase); + entries = new Dictionary<string, FileSystemMetadata>(StringComparer.OrdinalIgnoreCase); try { // using EnumerateFileSystemInfos doesn't handle reparse points (symlinks) - var list = new DirectoryInfo(path).EnumerateDirectories("*", SearchOption.TopDirectoryOnly) - .Concat<FileSystemInfo>(new DirectoryInfo(path).EnumerateFiles("*", SearchOption.TopDirectoryOnly)); + var list = _fileSystem.GetFileSystemEntries(path); // Seeing dupes on some users file system for some reason foreach (var item in list) @@ -80,34 +83,34 @@ namespace MediaBrowser.Controller.Providers return entries; } - private IEnumerable<FileSystemInfo> GetFileSystemEntries(string path, bool clearCache) + private IEnumerable<FileSystemMetadata> GetFileSystemEntries(string path, bool clearCache) { return GetFileSystemDictionary(path, clearCache).Values; } - public IEnumerable<FileSystemInfo> GetFiles(string path) + public IEnumerable<FileSystemMetadata> GetFiles(string path) { return GetFiles(path, false); } - public IEnumerable<FileSystemInfo> GetFiles(string path, bool clearCache) + public IEnumerable<FileSystemMetadata> GetFiles(string path, bool clearCache) { return GetFileSystemEntries(path, clearCache).Where(i => (i.Attributes & FileAttributes.Directory) != FileAttributes.Directory); } - public FileSystemInfo GetFile(string path) + public FileSystemMetadata GetFile(string path) { var directory = Path.GetDirectoryName(path); var dict = GetFileSystemDictionary(directory, false); - FileSystemInfo entry; + FileSystemMetadata entry; dict.TryGetValue(path, out entry); return entry; } - public IEnumerable<FileSystemInfo> GetDirectories(string path) + public IEnumerable<FileSystemMetadata> GetDirectories(string path) { return GetFileSystemEntries(path, false).Where(i => (i.Attributes & FileAttributes.Directory) == FileAttributes.Directory); } diff --git a/MediaBrowser.Controller/Providers/DynamicImageResponse.cs b/MediaBrowser.Controller/Providers/DynamicImageResponse.cs index 71a937cd9d..fdd1891ed6 100644 --- a/MediaBrowser.Controller/Providers/DynamicImageResponse.cs +++ b/MediaBrowser.Controller/Providers/DynamicImageResponse.cs @@ -1,12 +1,14 @@ using System; using System.IO; using MediaBrowser.Model.Drawing; +using MediaBrowser.Model.MediaInfo; namespace MediaBrowser.Controller.Providers { public class DynamicImageResponse { public string Path { get; set; } + public MediaProtocol Protocol { get; set; } public Stream Stream { get; set; } public ImageFormat Format { get; set; } public bool HasImage { get; set; } diff --git a/MediaBrowser.Controller/Providers/EpisodeIdentity.cs b/MediaBrowser.Controller/Providers/EpisodeIdentity.cs deleted file mode 100644 index 53f469e955..0000000000 --- a/MediaBrowser.Controller/Providers/EpisodeIdentity.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace MediaBrowser.Controller.Providers -{ - public class EpisodeIdentity : IItemIdentity - { - public string Type { get; set; } - - public string SeriesId { get; set; } - public int? SeasonIndex { get; set; } - public int IndexNumber { get; set; } - public int? IndexNumberEnd { get; set; } - } -}
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/EpisodeInfo.cs b/MediaBrowser.Controller/Providers/EpisodeInfo.cs index 88a7cbab7f..28abd636a2 100644 --- a/MediaBrowser.Controller/Providers/EpisodeInfo.cs +++ b/MediaBrowser.Controller/Providers/EpisodeInfo.cs @@ -1,15 +1,10 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers { - public class EpisodeInfo : ItemLookupInfo, IHasIdentities<EpisodeIdentity> + public class EpisodeInfo : ItemLookupInfo { - private List<EpisodeIdentity> _identities = new List<EpisodeIdentity>(); - public Dictionary<string, string> SeriesProviderIds { get; set; } public int? IndexNumberEnd { get; set; } @@ -19,16 +14,5 @@ namespace MediaBrowser.Controller.Providers { SeriesProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); } - - public IEnumerable<EpisodeIdentity> Identities - { - get { return _identities; } - } - - public async Task FindIdentities(IProviderManager providerManager, CancellationToken cancellationToken) - { - var identifier = new ItemIdentifier<EpisodeInfo, EpisodeIdentity>(); - _identities = (await identifier.FindIdentities(this, providerManager, cancellationToken)).ToList(); - } } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/IDirectoryService.cs b/MediaBrowser.Controller/Providers/IDirectoryService.cs index 343cf361f0..062a109015 100644 --- a/MediaBrowser.Controller/Providers/IDirectoryService.cs +++ b/MediaBrowser.Controller/Providers/IDirectoryService.cs @@ -1,15 +1,17 @@ using System.Collections.Generic; using System.IO; +using CommonIO; +using MediaBrowser.Common.IO; namespace MediaBrowser.Controller.Providers { public interface IDirectoryService { - IEnumerable<FileSystemInfo> GetFileSystemEntries(string path); - IEnumerable<FileSystemInfo> GetFiles(string path); - IEnumerable<FileSystemInfo> GetDirectories(string path); - IEnumerable<FileSystemInfo> GetFiles(string path, bool clearCache); - FileSystemInfo GetFile(string path); - Dictionary<string, FileSystemInfo> GetFileSystemDictionary(string path); + IEnumerable<FileSystemMetadata> GetFileSystemEntries(string path); + IEnumerable<FileSystemMetadata> GetFiles(string path); + IEnumerable<FileSystemMetadata> GetDirectories(string path); + IEnumerable<FileSystemMetadata> GetFiles(string path, bool clearCache); + FileSystemMetadata GetFile(string path); + Dictionary<string, FileSystemMetadata> GetFileSystemDictionary(string path); } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/IHasIdentities.cs b/MediaBrowser.Controller/Providers/IHasIdentities.cs deleted file mode 100644 index 36f940dd31..0000000000 --- a/MediaBrowser.Controller/Providers/IHasIdentities.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Collections.Generic; -using System.Threading; -using System.Threading.Tasks; - -namespace MediaBrowser.Controller.Providers -{ - public interface IHasIdentities<out TIdentity> - where TIdentity : IItemIdentity - { - IEnumerable<TIdentity> Identities { get; } - - Task FindIdentities(IProviderManager providerManager, CancellationToken cancellationToken); - } -}
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/IItemIdentity.cs b/MediaBrowser.Controller/Providers/IItemIdentity.cs deleted file mode 100644 index cab189c84f..0000000000 --- a/MediaBrowser.Controller/Providers/IItemIdentity.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace MediaBrowser.Controller.Providers -{ - public interface IItemIdentity - { - string Type { get; } - } -}
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/IItemIdentityConverter.cs b/MediaBrowser.Controller/Providers/IItemIdentityConverter.cs index 30e96b9e51..bfdd1dbf3a 100644 --- a/MediaBrowser.Controller/Providers/IItemIdentityConverter.cs +++ b/MediaBrowser.Controller/Providers/IItemIdentityConverter.cs @@ -1,4 +1,4 @@ namespace MediaBrowser.Controller.Providers { - public interface IItemIdentityConverter : IHasOrder { } + public interface IItemIdentityConverter { } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/IItemIdentityProvider.cs b/MediaBrowser.Controller/Providers/IItemIdentityProvider.cs index 9d437c208b..6b403bb55f 100644 --- a/MediaBrowser.Controller/Providers/IItemIdentityProvider.cs +++ b/MediaBrowser.Controller/Providers/IItemIdentityProvider.cs @@ -1,4 +1,4 @@ namespace MediaBrowser.Controller.Providers { - public interface IItemIdentityProvider : IHasOrder { } + public interface IItemIdentityProvider { } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/IProviderManager.cs b/MediaBrowser.Controller/Providers/IProviderManager.cs index d6fc39c5f5..57e4ff3200 100644 --- a/MediaBrowser.Controller/Providers/IProviderManager.cs +++ b/MediaBrowser.Controller/Providers/IProviderManager.cs @@ -195,18 +195,16 @@ namespace MediaBrowser.Controller.Providers /// Gets the item identity providers. /// </summary> /// <typeparam name="TLookupInfo">The type of the t lookup information.</typeparam> - /// <typeparam name="TIdentity">The type of the t identity.</typeparam> /// <returns>IEnumerable<IItemIdentityProvider<TLookupInfo, TIdentity>>.</returns> - IEnumerable<IItemIdentityProvider<TLookupInfo, TIdentity>> GetItemIdentityProviders<TLookupInfo, TIdentity>() - where TLookupInfo : ItemLookupInfo - where TIdentity : IItemIdentity; + IEnumerable<IItemIdentityProvider<TLookupInfo>> GetItemIdentityProviders<TLookupInfo>() + where TLookupInfo : ItemLookupInfo; /// <summary> /// Gets the item identity converters. /// </summary> - /// <typeparam name="TIdentity">The type of the t identity.</typeparam> + /// <typeparam name="TLookupInfo">The type of the t lookup information.</typeparam> /// <returns>IEnumerable<IItemIdentityConverter<TIdentity>>.</returns> - IEnumerable<IItemIdentityConverter<TIdentity>> GetItemIdentityConverters<TIdentity>() - where TIdentity : IItemIdentity; + IEnumerable<IItemIdentityConverter<TLookupInfo>> GetItemIdentityConverters<TLookupInfo>() + where TLookupInfo : ItemLookupInfo; } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/ImageRefreshMode.cs b/MediaBrowser.Controller/Providers/ImageRefreshMode.cs index df10c91f6a..73ef4b8cda 100644 --- a/MediaBrowser.Controller/Providers/ImageRefreshMode.cs +++ b/MediaBrowser.Controller/Providers/ImageRefreshMode.cs @@ -8,14 +8,14 @@ namespace MediaBrowser.Controller.Providers None = 0, /// <summary> - /// The default + /// Existing images will be validated /// </summary> - Default = 1, + ValidationOnly = 1, /// <summary> - /// Existing images will be validated + /// The default /// </summary> - ValidationOnly = 2, + Default = 2, /// <summary> /// All providers will be executed to search for new metadata diff --git a/MediaBrowser.Controller/Providers/ItemIdentifier.cs b/MediaBrowser.Controller/Providers/ItemIdentifier.cs index 13e4f137f9..bbc6dd76cd 100644 --- a/MediaBrowser.Controller/Providers/ItemIdentifier.cs +++ b/MediaBrowser.Controller/Providers/ItemIdentifier.cs @@ -1,73 +1,36 @@ -using System.Collections.Generic; -using System.Linq; +using System.Linq; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers { - public class ItemIdentifier<TLookupInfo, TIdentity> + public static class ItemIdentifier<TLookupInfo> where TLookupInfo : ItemLookupInfo - where TIdentity : IItemIdentity { - public async Task<IEnumerable<TIdentity>> FindIdentities(TLookupInfo item, IProviderManager providerManager, CancellationToken cancellationToken) + public static async Task FindIdentities(TLookupInfo item, IProviderManager providerManager, CancellationToken cancellationToken) { - var providers = providerManager.GetItemIdentityProviders<TLookupInfo, TIdentity>(); - var converters = providerManager.GetItemIdentityConverters<TIdentity>(); - - var identities = new List<IdentityPair>(); - + var providers = providerManager.GetItemIdentityProviders<TLookupInfo>(); + var converters = providerManager.GetItemIdentityConverters<TLookupInfo>().ToList(); + foreach (var provider in providers) { - var result = new IdentityPair - { - Identity = await provider.FindIdentity(item), - Order = provider.Order - }; - - if (!Equals(result.Identity, default(TIdentity))) - { - identities.Add(result); - } + await provider.Identify(item); } - var convertersAvailable = new List<IItemIdentityConverter<TIdentity>>(converters); - bool changesMade; + bool changesMade = true; - do + while (changesMade) { changesMade = false; - for (int i = convertersAvailable.Count - 1; i >= 0; i--) + foreach (var converter in converters) { - var converter = convertersAvailable[i]; - var input = identities.FirstOrDefault(id => id.Identity.Type == converter.SourceType); - var existing = identities.Where(id => id.Identity.Type == converter.ResultType); - - if (input != null && !existing.Any(id => id.Order <= converter.Order)) + if (await converter.Convert(item)) { - var result = new IdentityPair - { - Identity = await converter.Convert(input.Identity).ConfigureAwait(false), - Order = converter.Order - }; - - if (!Equals(result.Identity, default(TIdentity))) - { - identities.Add(result); - convertersAvailable.RemoveAt(i); - changesMade = true; - } + changesMade = true; } } - } while (changesMade); - - return identities.OrderBy(id => id.Order).Select(id => id.Identity); - } - - private class IdentityPair - { - public TIdentity Identity; - public int Order; + } } } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/ItemIdentities.cs b/MediaBrowser.Controller/Providers/ItemIdentities.cs index 939fd3b8ff..48316d0f44 100644 --- a/MediaBrowser.Controller/Providers/ItemIdentities.cs +++ b/MediaBrowser.Controller/Providers/ItemIdentities.cs @@ -2,20 +2,15 @@ namespace MediaBrowser.Controller.Providers { - public interface IItemIdentityProvider<in TLookupInfo, TIdentity> : IItemIdentityProvider + public interface IItemIdentityProvider<in TLookupInfo> : IItemIdentityProvider where TLookupInfo : ItemLookupInfo - where TIdentity : IItemIdentity { - Task<TIdentity> FindIdentity(TLookupInfo info); + Task Identify(TLookupInfo info); } - public interface IItemIdentityConverter<TIdentity> : IItemIdentityConverter - where TIdentity : IItemIdentity + public interface IItemIdentityConverter<in TLookupInfo> : IItemIdentityConverter + where TLookupInfo : ItemLookupInfo { - Task<TIdentity> Convert(TIdentity identity); - - string SourceType { get; } - - string ResultType { get; } + Task<bool> Convert(TLookupInfo info); } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/ItemInfo.cs b/MediaBrowser.Controller/Providers/ItemInfo.cs index 78f352057b..d16a730286 100644 --- a/MediaBrowser.Controller/Providers/ItemInfo.cs +++ b/MediaBrowser.Controller/Providers/ItemInfo.cs @@ -19,6 +19,7 @@ namespace MediaBrowser.Controller.Providers if (video != null) { VideoType = video.VideoType; + IsPlaceHolder = video.IsPlaceHolder; } } @@ -26,5 +27,6 @@ namespace MediaBrowser.Controller.Providers public string ContainingFolderPath { get; set; } public VideoType VideoType { get; set; } public bool IsInMixedFolder { get; set; } + public bool IsPlaceHolder { get; set; } } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/LocalImageInfo.cs b/MediaBrowser.Controller/Providers/LocalImageInfo.cs index 59d74def26..51916268fe 100644 --- a/MediaBrowser.Controller/Providers/LocalImageInfo.cs +++ b/MediaBrowser.Controller/Providers/LocalImageInfo.cs @@ -1,11 +1,13 @@ using System.IO; +using CommonIO; +using MediaBrowser.Common.IO; using MediaBrowser.Model.Entities; namespace MediaBrowser.Controller.Providers { public class LocalImageInfo { - public FileSystemInfo FileInfo { get; set; } + public FileSystemMetadata FileInfo { get; set; } public ImageType Type { get; set; } } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs index dbb7fbfcdb..6f217eea2b 100644 --- a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs +++ b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs @@ -1,4 +1,6 @@ using System.Linq; +using CommonIO; +using MediaBrowser.Common.IO; namespace MediaBrowser.Controller.Providers { @@ -15,8 +17,8 @@ namespace MediaBrowser.Controller.Providers public bool ForceSave { get; set; } - public MetadataRefreshOptions() - : this(new DirectoryService()) + public MetadataRefreshOptions(IFileSystem fileSystem) + : this(new DirectoryService(fileSystem)) { } diff --git a/MediaBrowser.Controller/Providers/MetadataStatus.cs b/MediaBrowser.Controller/Providers/MetadataStatus.cs index 283b9edbc2..9b946aee27 100644 --- a/MediaBrowser.Controller/Providers/MetadataStatus.cs +++ b/MediaBrowser.Controller/Providers/MetadataStatus.cs @@ -41,12 +41,6 @@ namespace MediaBrowser.Controller.Providers public DateTime? DateLastImagesRefresh { get; set; } /// <summary> - /// Gets or sets the last result. - /// </summary> - /// <value>The last result.</value> - public ProviderRefreshStatus LastStatus { get; set; } - - /// <summary> /// Gets or sets the last result error message. /// </summary> /// <value>The last result error message.</value> @@ -54,33 +48,19 @@ namespace MediaBrowser.Controller.Providers public DateTime? ItemDateModified { get; set; } - public void AddStatus(ProviderRefreshStatus status, string errorMessage) + public void AddStatus(string errorMessage) { - if (LastStatus != status) - { - IsDirty = true; - } - if (string.IsNullOrEmpty(LastErrorMessage)) { LastErrorMessage = errorMessage; } - if (LastStatus == ProviderRefreshStatus.Success) - { - LastStatus = status; - } - } - - public MetadataStatus() - { - LastStatus = ProviderRefreshStatus.Success; } public bool IsDirty { get; private set; } - public void SetDateLastMetadataRefresh(DateTime date) + public void SetDateLastMetadataRefresh(DateTime? date) { - if (date != (DateLastMetadataRefresh ?? DateTime.MinValue)) + if (date != DateLastMetadataRefresh) { IsDirty = true; } @@ -88,9 +68,9 @@ namespace MediaBrowser.Controller.Providers DateLastMetadataRefresh = date; } - public void SetDateLastImagesRefresh(DateTime date) + public void SetDateLastImagesRefresh(DateTime? date) { - if (date != (DateLastImagesRefresh ?? DateTime.MinValue)) + if (date != DateLastImagesRefresh) { IsDirty = true; } diff --git a/MediaBrowser.Controller/Providers/SeasonIdentity.cs b/MediaBrowser.Controller/Providers/SeasonIdentity.cs deleted file mode 100644 index 1e6b9b65a3..0000000000 --- a/MediaBrowser.Controller/Providers/SeasonIdentity.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace MediaBrowser.Controller.Providers -{ - public class SeasonIdentity : IItemIdentity - { - public string Type { get; set; } - - public string SeriesId { get; set; } - - public int SeasonIndex { get; set; } - } -}
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/SeasonInfo.cs b/MediaBrowser.Controller/Providers/SeasonInfo.cs index 17bcd3f772..2c785d7d71 100644 --- a/MediaBrowser.Controller/Providers/SeasonInfo.cs +++ b/MediaBrowser.Controller/Providers/SeasonInfo.cs @@ -1,15 +1,10 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers { - public class SeasonInfo : ItemLookupInfo, IHasIdentities<SeasonIdentity> + public class SeasonInfo : ItemLookupInfo { - private List<SeasonIdentity> _identities = new List<SeasonIdentity>(); - public Dictionary<string, string> SeriesProviderIds { get; set; } public int? AnimeSeriesIndex { get; set; } @@ -17,16 +12,5 @@ namespace MediaBrowser.Controller.Providers { SeriesProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); } - - public IEnumerable<SeasonIdentity> Identities - { - get { return _identities; } - } - - public async Task FindIdentities(IProviderManager providerManager, CancellationToken cancellationToken) - { - var identifier = new ItemIdentifier<SeasonInfo, SeasonIdentity>(); - _identities = (await identifier.FindIdentities(this, providerManager, cancellationToken)).ToList(); - } } }
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/SeriesIdentity.cs b/MediaBrowser.Controller/Providers/SeriesIdentity.cs deleted file mode 100644 index 326d340275..0000000000 --- a/MediaBrowser.Controller/Providers/SeriesIdentity.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace MediaBrowser.Controller.Providers -{ - public class SeriesIdentity : IItemIdentity - { - public string Type { get; set; } - - public string Id { get; set; } - } -}
\ No newline at end of file diff --git a/MediaBrowser.Controller/Providers/SeriesInfo.cs b/MediaBrowser.Controller/Providers/SeriesInfo.cs index fc1119cd25..387865de23 100644 --- a/MediaBrowser.Controller/Providers/SeriesInfo.cs +++ b/MediaBrowser.Controller/Providers/SeriesInfo.cs @@ -1,25 +1,7 @@ -using System.Collections.Generic; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; - namespace MediaBrowser.Controller.Providers { - public class SeriesInfo : ItemLookupInfo, IHasIdentities<SeriesIdentity> + public class SeriesInfo : ItemLookupInfo { - private List<SeriesIdentity> _identities = new List<SeriesIdentity>(); - public int? AnimeSeriesIndex { get; set; } - - public IEnumerable<SeriesIdentity> Identities - { - get { return _identities; } - } - - public async Task FindIdentities(IProviderManager providerManager, CancellationToken cancellationToken) - { - var identifier = new ItemIdentifier<SeriesInfo, SeriesIdentity>(); - _identities = (await identifier.FindIdentities(this, providerManager, cancellationToken)).ToList(); - } } }
\ No newline at end of file |
