aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager/MetadataService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/Manager/MetadataService.cs')
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs46
1 files changed, 18 insertions, 28 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index 3759670d4f..af03e21b2d 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -38,28 +38,6 @@ namespace MediaBrowser.Providers.Manager
LibraryManager = libraryManager;
}
- private bool RequiresRefresh(IHasMetadata item, IDirectoryService directoryService)
- {
- if (item.RequiresRefresh())
- {
- return true;
- }
-
- if (item.SupportsLocalMetadata)
- {
- var video = item as Video;
-
- if (video != null && !video.IsPlaceHolder)
- {
- return !video.SubtitleFiles
- .SequenceEqual(SubtitleResolver.GetSubtitleFiles(video, directoryService, FileSystem, false)
- .OrderBy(i => i), StringComparer.OrdinalIgnoreCase);
- }
- }
-
- return false;
- }
-
public async Task<ItemUpdateType> RefreshMetadata(IHasMetadata item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken)
{
var itemOfType = (TItemType)item;
@@ -70,6 +48,11 @@ namespace MediaBrowser.Providers.Manager
var libraryOptions = LibraryManager.GetLibraryOptions((BaseItem)item);
+ if (!requiresRefresh && libraryOptions.AutomaticRefreshIntervalDays > 0 && (DateTime.UtcNow - item.DateLastRefreshed).TotalDays >= libraryOptions.AutomaticRefreshIntervalDays)
+ {
+ requiresRefresh = true;
+ }
+
DateTime? newDateModified = null;
if (item.LocationType == LocationType.FileSystem)
{
@@ -85,18 +68,25 @@ namespace MediaBrowser.Providers.Manager
requiresRefresh = true;
}
}
- }
- }
- if (!requiresRefresh && libraryOptions.AutomaticRefreshIntervalDays > 0 && (DateTime.UtcNow - item.DateLastRefreshed).TotalDays >= libraryOptions.AutomaticRefreshIntervalDays)
- {
- requiresRefresh = true;
+ if (!requiresRefresh && item.SupportsLocalMetadata)
+ {
+ var video = item as Video;
+
+ if (video != null && !video.IsPlaceHolder)
+ {
+ requiresRefresh = !video.SubtitleFiles
+ .SequenceEqual(SubtitleResolver.GetSubtitleFiles(video, refreshOptions.DirectoryService, FileSystem, false)
+ .OrderBy(i => i), StringComparer.OrdinalIgnoreCase);
+ }
+ }
+ }
}
if (!requiresRefresh && refreshOptions.MetadataRefreshMode != MetadataRefreshMode.None)
{
// TODO: If this returns true, should we instead just change metadata refresh mode to Full?
- requiresRefresh = RequiresRefresh(item, refreshOptions.DirectoryService);
+ requiresRefresh = item.RequiresRefresh();
}
var itemImageProvider = new ItemImageProvider(Logger, ProviderManager, ServerConfigurationManager, FileSystem);