aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-09 18:08:01 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-09 18:08:01 -0500
commit44bb192ce0e286ced703394f733ca033b489ebc5 (patch)
treeec893218d10581513b4679d6b7da490c3c49ecf9 /MediaBrowser.Providers/Manager
parent6ff59b7e590be140781292206a55822742f2c8fa (diff)
update wizard function of enable/disable local metadata saving
Diffstat (limited to 'MediaBrowser.Providers/Manager')
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs11
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs21
2 files changed, 19 insertions, 13 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index f7c2cef94..93879d826 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -71,7 +71,7 @@ namespace MediaBrowser.Providers.Manager
}
var itemOfType = (TItemType)item;
- var config = GetMetadataOptions(itemOfType);
+ var config = ProviderManager.GetMetadataOptions(item);
var updateType = ItemUpdateType.Unspecified;
var refreshResult = GetLastResult(item.Id);
@@ -157,15 +157,6 @@ namespace MediaBrowser.Providers.Manager
}
}
- private readonly MetadataOptions _defaultOptions = new MetadataOptions();
- protected MetadataOptions GetMetadataOptions(TItemType item)
- {
- var type = item.GetType().Name;
- return ServerConfigurationManager.Configuration.MetadataOptions
- .FirstOrDefault(i => string.Equals(i.ItemType, type, StringComparison.OrdinalIgnoreCase)) ??
- _defaultOptions;
- }
-
/// <summary>
/// Befores the metadata refresh.
/// </summary>
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index fd19d572c..a6817cf32 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -470,7 +470,7 @@ namespace MediaBrowser.Providers.Manager
}));
// Savers
- list.AddRange(_savers.Where(i => IsSaverEnabledForItem(i, item, ItemUpdateType.MetadataEdit)).OrderBy(i => i.Name).Select(i => new MetadataPlugin
+ list.AddRange(_savers.Where(i => IsSaverEnabledForItem(i, item, ItemUpdateType.MetadataEdit, false)).OrderBy(i => i.Name).Select(i => new MetadataPlugin
{
Name = i.Name,
Type = MetadataPluginType.MetadataSaver
@@ -498,6 +498,14 @@ namespace MediaBrowser.Providers.Manager
private readonly ConcurrentDictionary<string, SemaphoreSlim> _fileLocks = new ConcurrentDictionary<string, SemaphoreSlim>();
+ public MetadataOptions GetMetadataOptions(IHasMetadata item)
+ {
+ var type = item.GetType().Name;
+ return ConfigurationManager.Configuration.MetadataOptions
+ .FirstOrDefault(i => string.Equals(i.ItemType, type, StringComparison.OrdinalIgnoreCase)) ??
+ new MetadataOptions();
+ }
+
/// <summary>
/// Saves the metadata.
/// </summary>
@@ -506,7 +514,7 @@ namespace MediaBrowser.Providers.Manager
/// <returns>Task.</returns>
public async Task SaveMetadata(IHasMetadata item, ItemUpdateType updateType)
{
- foreach (var saver in _savers.Where(i => IsSaverEnabledForItem(i, item, updateType)))
+ foreach (var saver in _savers.Where(i => IsSaverEnabledForItem(i, item, updateType, true)))
{
_logger.Debug("Saving {0} to {1}.", item.Path ?? item.Name, saver.Name);
@@ -559,10 +567,17 @@ namespace MediaBrowser.Providers.Manager
}
}
- private bool IsSaverEnabledForItem(IMetadataSaver saver, IHasMetadata item, ItemUpdateType updateType)
+ private bool IsSaverEnabledForItem(IMetadataSaver saver, IHasMetadata item, ItemUpdateType updateType, bool enforceConfiguration)
{
+ var options = GetMetadataOptions(item);
+
try
{
+ if (enforceConfiguration && options.DisabledMetadataSavers.Contains(saver.Name, StringComparer.OrdinalIgnoreCase))
+ {
+ return false;
+ }
+
return saver.IsEnabledFor(item, updateType);
}
catch (Exception ex)