diff options
Diffstat (limited to 'MediaBrowser.Providers/Manager/ProviderManager.cs')
| -rw-r--r-- | MediaBrowser.Providers/Manager/ProviderManager.cs | 24 |
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; + } } } |
