diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-10-18 21:22:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-10-18 21:22:40 -0400 |
| commit | 93a0244b7aee9d850dfa48762e64348a3c864ef5 (patch) | |
| tree | 978f22c3135c6c90246d5c6db2ebfa4acf10f3db /MediaBrowser.Providers/Manager/MetadataService.cs | |
| parent | 497819b34531b9c3166a7f85aada1b1a493c388d (diff) | |
| parent | ab61eb5cae54578b434566d0c9d84f38b1b523bf (diff) | |
Merge pull request #2963 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Providers/Manager/MetadataService.cs')
| -rw-r--r-- | MediaBrowser.Providers/Manager/MetadataService.cs | 46 |
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); |
