aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs2
-rw-r--r--MediaBrowser.Providers/Manager/ProviderManager.cs19
2 files changed, 12 insertions, 9 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index f80b3f14d..083c8f1f3 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -97,7 +97,7 @@ namespace MediaBrowser.Providers.Manager
var itemImageProvider = new ItemImageProvider(Logger, ProviderManager, ServerConfigurationManager, FileSystem);
var localImagesFailed = false;
- var allImageProviders = ((ProviderManager)ProviderManager).GetImageProviders(item).ToList();
+ var allImageProviders = ((ProviderManager)ProviderManager).GetImageProviders(item, refreshOptions).ToList();
// Start by validating images
try
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs
index f504c9612..580e9c4ac 100644
--- a/MediaBrowser.Providers/Manager/ProviderManager.cs
+++ b/MediaBrowser.Providers/Manager/ProviderManager.cs
@@ -249,17 +249,17 @@ namespace MediaBrowser.Providers.Manager
});
}
- public IEnumerable<IImageProvider> GetImageProviders(IHasImages item)
+ public IEnumerable<IImageProvider> GetImageProviders(IHasImages item, ImageRefreshOptions refreshOptions)
{
- return GetImageProviders(item, GetMetadataOptions(item), false);
+ return GetImageProviders(item, GetMetadataOptions(item), refreshOptions, false);
}
- private IEnumerable<IImageProvider> GetImageProviders(IHasImages item, MetadataOptions options, bool includeDisabled)
+ private IEnumerable<IImageProvider> GetImageProviders(IHasImages item, MetadataOptions options, ImageRefreshOptions refreshOptions, bool includeDisabled)
{
// Avoid implicitly captured closure
var currentOptions = options;
- return ImageProviders.Where(i => CanRefresh(i, item, options, includeDisabled))
+ return ImageProviders.Where(i => CanRefresh(i, item, options, refreshOptions, includeDisabled))
.OrderBy(i =>
{
// See if there's a user-defined order
@@ -315,7 +315,7 @@ namespace MediaBrowser.Providers.Manager
{
var options = GetMetadataOptions(item);
- return GetImageProviders(item, options, includeDisabled).OfType<IRemoteImageProvider>();
+ return GetImageProviders(item, options, new ImageRefreshOptions(new DirectoryService(_fileSystem)), includeDisabled).OfType<IRemoteImageProvider>();
}
private bool CanRefresh(IMetadataProvider provider, IHasMetadata item, MetadataOptions options, bool includeDisabled, bool checkIsOwnedItem)
@@ -359,14 +359,17 @@ namespace MediaBrowser.Providers.Manager
return true;
}
- private bool CanRefresh(IImageProvider provider, IHasImages item, MetadataOptions options, bool includeDisabled)
+ private bool CanRefresh(IImageProvider provider, IHasImages item, MetadataOptions options, ImageRefreshOptions refreshOptions, bool includeDisabled)
{
if (!includeDisabled)
{
// If locked only allow local providers
if (item.IsLocked && !(provider is ILocalImageProvider))
{
- return false;
+ if (refreshOptions.ImageRefreshMode != ImageRefreshMode.FullRefresh)
+ {
+ return false;
+ }
}
if (provider is IRemoteImageProvider || provider is IDynamicImageProvider)
@@ -502,7 +505,7 @@ namespace MediaBrowser.Providers.Manager
ItemType = typeof(T).Name
};
- var imageProviders = GetImageProviders(dummy, options, true).ToList();
+ var imageProviders = GetImageProviders(dummy, options, new ImageRefreshOptions(new DirectoryService(_fileSystem)), true).ToList();
AddMetadataPlugins(summary.Plugins, dummy, options);
AddImagePlugins(summary.Plugins, dummy, imageProviders);