aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-28 16:25:10 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-28 16:25:10 -0500
commit7c5b22246357ef6bcd6d74e61a8fe6a8a9d4df3e (patch)
treed836be86d9829cf2df9e5d43112ab3e41bdd3889 /MediaBrowser.Providers
parent2ae17a8d528f6a75cd8c91217be4860a13b03715 (diff)
Created ILibraryMonitor to replace IDirectoryWatchers
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/Manager/ImageSaver.cs22
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs18
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs16
3 files changed, 20 insertions, 36 deletions
diff --git a/MediaBrowser.Providers/Manager/ImageSaver.cs b/MediaBrowser.Providers/Manager/ImageSaver.cs
index a75ce88aeb..56a1a9d4fe 100644
--- a/MediaBrowser.Providers/Manager/ImageSaver.cs
+++ b/MediaBrowser.Providers/Manager/ImageSaver.cs
@@ -3,7 +3,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.Entities.TV;
-using MediaBrowser.Controller.IO;
+using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
@@ -36,7 +36,7 @@ namespace MediaBrowser.Providers.Manager
/// <summary>
/// The _directory watchers
/// </summary>
- private readonly IDirectoryWatchers _directoryWatchers;
+ private readonly ILibraryMonitor _libraryMonitor;
private readonly IFileSystem _fileSystem;
private readonly ILogger _logger;
@@ -44,11 +44,11 @@ namespace MediaBrowser.Providers.Manager
/// Initializes a new instance of the <see cref="ImageSaver"/> class.
/// </summary>
/// <param name="config">The config.</param>
- /// <param name="directoryWatchers">The directory watchers.</param>
- public ImageSaver(IServerConfigurationManager config, IDirectoryWatchers directoryWatchers, IFileSystem fileSystem, ILogger logger)
+ /// <param name="libraryMonitor">The directory watchers.</param>
+ public ImageSaver(IServerConfigurationManager config, ILibraryMonitor libraryMonitor, IFileSystem fileSystem, ILogger logger)
{
_config = config;
- _directoryWatchers = directoryWatchers;
+ _libraryMonitor = libraryMonitor;
_fileSystem = fileSystem;
_logger = logger;
_remoteImageCache = new FileSystemRepository(config.ApplicationPaths.DownloadedImagesDataPath);
@@ -160,7 +160,7 @@ namespace MediaBrowser.Providers.Manager
// Delete the current path
if (!string.IsNullOrEmpty(currentPath) && !paths.Contains(currentPath, StringComparer.OrdinalIgnoreCase))
{
- _directoryWatchers.TemporarilyIgnore(currentPath);
+ _libraryMonitor.ReportFileSystemChangeBeginning(currentPath);
try
{
@@ -179,7 +179,7 @@ namespace MediaBrowser.Providers.Manager
}
finally
{
- _directoryWatchers.RemoveTempIgnore(currentPath);
+ _libraryMonitor.ReportFileSystemChangeComplete(currentPath, false);
}
}
}
@@ -197,8 +197,8 @@ namespace MediaBrowser.Providers.Manager
var parentFolder = Path.GetDirectoryName(path);
- _directoryWatchers.TemporarilyIgnore(path);
- _directoryWatchers.TemporarilyIgnore(parentFolder);
+ _libraryMonitor.ReportFileSystemChangeBeginning(path);
+ _libraryMonitor.ReportFileSystemChangeBeginning(parentFolder);
try
{
@@ -223,8 +223,8 @@ namespace MediaBrowser.Providers.Manager
}
finally
{
- _directoryWatchers.RemoveTempIgnore(path);
- _directoryWatchers.RemoveTempIgnore(parentFolder);
+ _libraryMonitor.ReportFileSystemChangeComplete(path, false);
+ _libraryMonitor.ReportFileSystemChangeComplete(parentFolder, false);
}
}
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index dbe70b93d7..5dde3098ac 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -38,7 +38,6 @@ namespace MediaBrowser.Providers.Manager
public void AddParts(IEnumerable<IMetadataProvider> providers, IEnumerable<IImageProvider> imageProviders)
{
_providers = providers.OfType<IMetadataProvider<TItemType>>()
- .OrderBy(GetSortOrder)
.ToArray();
_imageProviders = imageProviders.OrderBy(i => i.Order).ToArray();
@@ -180,21 +179,6 @@ namespace MediaBrowser.Providers.Manager
}
/// <summary>
- /// Gets the sort order.
- /// </summary>
- /// <param name="provider">The provider.</param>
- /// <returns>System.Int32.</returns>
- protected virtual int GetSortOrder(IMetadataProvider<TItemType> provider)
- {
- if (provider is IRemoteMetadataProvider)
- {
- return 1;
- }
-
- return 0;
- }
-
- /// <summary>
/// Determines whether this instance can refresh the specified provider.
/// </summary>
/// <param name="provider">The provider.</param>
@@ -217,7 +201,7 @@ namespace MediaBrowser.Providers.Manager
protected abstract Task SaveItem(TItemType item, ItemUpdateType reason, CancellationToken cancellationToken);
- protected virtual ItemId GetId(TItemType item)
+ protected virtual ItemId GetId(IHasMetadata item)
{
return new ItemId
{
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index ebad2e6e05..faad156698 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -36,7 +36,7 @@ namespace MediaBrowser.Providers.Manager
/// <summary>
/// The _directory watchers
/// </summary>
- private readonly IDirectoryWatchers _directoryWatchers;
+ private readonly ILibraryMonitor _libraryMonitor;
/// <summary>
/// Gets or sets the configuration manager.
@@ -57,23 +57,23 @@ namespace MediaBrowser.Providers.Manager
private readonly IItemRepository _itemRepo;
- private IMetadataService[] _metadataServices = {};
+ private IMetadataService[] _metadataServices = { };
/// <summary>
/// Initializes a new instance of the <see cref="ProviderManager" /> class.
/// </summary>
/// <param name="httpClient">The HTTP client.</param>
/// <param name="configurationManager">The configuration manager.</param>
- /// <param name="directoryWatchers">The directory watchers.</param>
+ /// <param name="libraryMonitor">The directory watchers.</param>
/// <param name="logManager">The log manager.</param>
/// <param name="fileSystem">The file system.</param>
/// <param name="itemRepo">The item repo.</param>
- public ProviderManager(IHttpClient httpClient, IServerConfigurationManager configurationManager, IDirectoryWatchers directoryWatchers, ILogManager logManager, IFileSystem fileSystem, IItemRepository itemRepo)
+ public ProviderManager(IHttpClient httpClient, IServerConfigurationManager configurationManager, ILibraryMonitor libraryMonitor, ILogManager logManager, IFileSystem fileSystem, IItemRepository itemRepo)
{
_logger = logManager.GetLogger("ProviderManager");
_httpClient = httpClient;
ConfigurationManager = configurationManager;
- _directoryWatchers = directoryWatchers;
+ _libraryMonitor = libraryMonitor;
_fileSystem = fileSystem;
_itemRepo = itemRepo;
}
@@ -315,7 +315,7 @@ namespace MediaBrowser.Providers.Manager
}
//Tell the watchers to ignore
- _directoryWatchers.TemporarilyIgnore(path);
+ _libraryMonitor.ReportFileSystemChangeBeginning(path);
if (dataToSave.CanSeek)
{
@@ -338,7 +338,7 @@ namespace MediaBrowser.Providers.Manager
finally
{
//Remove the ignore
- _directoryWatchers.RemoveTempIgnore(path);
+ _libraryMonitor.ReportFileSystemChangeComplete(path, false);
}
}
@@ -380,7 +380,7 @@ namespace MediaBrowser.Providers.Manager
/// <returns>Task.</returns>
public Task SaveImage(BaseItem item, Stream source, string mimeType, ImageType type, int? imageIndex, string sourceUrl, CancellationToken cancellationToken)
{
- return new ImageSaver(ConfigurationManager, _directoryWatchers, _fileSystem, _logger).SaveImage(item, source, mimeType, type, imageIndex, sourceUrl, cancellationToken);
+ return new ImageSaver(ConfigurationManager, _libraryMonitor, _fileSystem, _logger).SaveImage(item, source, mimeType, type, imageIndex, sourceUrl, cancellationToken);
}
/// <summary>