aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Providers')
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs23
-rw-r--r--MediaBrowser.Controller/Providers/DirectoryService.cs41
-rw-r--r--MediaBrowser.Controller/Providers/DynamicImageResponse.cs2
-rw-r--r--MediaBrowser.Controller/Providers/EpisodeIdentity.cs12
-rw-r--r--MediaBrowser.Controller/Providers/EpisodeInfo.cs18
-rw-r--r--MediaBrowser.Controller/Providers/IDirectoryService.cs14
-rw-r--r--MediaBrowser.Controller/Providers/IHasIdentities.cs14
-rw-r--r--MediaBrowser.Controller/Providers/IItemIdentity.cs7
-rw-r--r--MediaBrowser.Controller/Providers/IItemIdentityConverter.cs2
-rw-r--r--MediaBrowser.Controller/Providers/IItemIdentityProvider.cs2
-rw-r--r--MediaBrowser.Controller/Providers/IProviderManager.cs12
-rw-r--r--MediaBrowser.Controller/Providers/ImageRefreshMode.cs8
-rw-r--r--MediaBrowser.Controller/Providers/ItemIdentifier.cs63
-rw-r--r--MediaBrowser.Controller/Providers/ItemIdentities.cs15
-rw-r--r--MediaBrowser.Controller/Providers/ItemInfo.cs2
-rw-r--r--MediaBrowser.Controller/Providers/LocalImageInfo.cs4
-rw-r--r--MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs6
-rw-r--r--MediaBrowser.Controller/Providers/MetadataStatus.cs30
-rw-r--r--MediaBrowser.Controller/Providers/SeasonIdentity.cs11
-rw-r--r--MediaBrowser.Controller/Providers/SeasonInfo.cs18
-rw-r--r--MediaBrowser.Controller/Providers/SeriesIdentity.cs9
-rw-r--r--MediaBrowser.Controller/Providers/SeriesInfo.cs20
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&lt;IItemIdentityProvider&lt;TLookupInfo, TIdentity&gt;&gt;.</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&lt;IItemIdentityConverter&lt;TIdentity&gt;&gt;.</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