aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs23
1 files changed, 13 insertions, 10 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index ab9525636..62def8b8b 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -447,18 +447,21 @@ namespace MediaBrowser.Providers.Manager
successfulProviderCount += remoteResult.Successes;
}
- // If no local providers and doing a full refresh, take data from item itself
- if (options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh &&
- localProviders.Count == 0 &&
- refreshResult.UpdateType > ItemUpdateType.None)
+ if (providers.Any(i => !(i is ICustomMetadataProvider)))
{
- // TODO: If the new metadata from above has some blank data, this can cause old data to get filled into those empty fields
- MergeData(item, temp, new List<MetadataFields>(), false, true);
- }
+ // If no local providers and doing a full refresh, take data from item itself
+ if (options.MetadataRefreshMode == MetadataRefreshMode.FullRefresh &&
+ localProviders.Count == 0 &&
+ refreshResult.UpdateType > ItemUpdateType.None)
+ {
+ // TODO: If the new metadata from above has some blank data, this can cause old data to get filled into those empty fields
+ MergeData(item, temp, new List<MetadataFields>(), false, true);
+ }
- if (refreshResult.UpdateType > ItemUpdateType.None)
- {
- MergeData(temp, item, item.LockedFields, true, true);
+ if (refreshResult.UpdateType > ItemUpdateType.None)
+ {
+ MergeData(temp, item, item.LockedFields, true, true);
+ }
}
var isUnidentified = failedProviderCount > 0 && successfulProviderCount == 0;