aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager/ProviderManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/Manager/ProviderManager.cs')
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs24
1 files changed, 20 insertions, 4 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index 5f6702e74..414d7f064 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -613,14 +613,30 @@ namespace MediaBrowser.Providers.Manager
{
if (!includeDisabled)
{
- if (!item.IsSaveLocalMetadataEnabled())
+ if (options.DisabledMetadataSavers.Contains(saver.Name, StringComparer.OrdinalIgnoreCase))
{
return false;
}
-
- if (options.DisabledMetadataSavers.Contains(saver.Name, StringComparer.OrdinalIgnoreCase))
+
+ if (!item.IsSaveLocalMetadataEnabled())
{
- return false;
+ if (updateType >= ItemUpdateType.MetadataEdit)
+ {
+ var fileSaver = saver as IMetadataFileSaver;
+
+ // Manual edit occurred
+ // Even if save local is off, save locally anyway if the metadata file already exists
+ if (fileSaver == null || !File.Exists(fileSaver.GetSavePath(item)))
+ {
+ return false;
+ }
+ }
+ else
+ {
+ // Manual edit did not occur
+ // Since local metadata saving is disabled, consider it disabled
+ return false;
+ }
}
}