1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using System;
- using System.Linq;
- using MediaBrowser.Controller.Entities;
- using MediaBrowser.Model.Providers;
- namespace MediaBrowser.Controller.Providers
- {
- public class MetadataRefreshOptions : ImageRefreshOptions
- {
- /// <summary>
- /// When paired with MetadataRefreshMode=FullRefresh, all existing data will be overwritten with new data from the providers.
- /// </summary>
- public bool ReplaceAllMetadata { get; set; }
- public MetadataRefreshMode MetadataRefreshMode { get; set; }
- public RemoteSearchResult SearchResult { get; set; }
- public string[] RefreshPaths { get; set; }
- public bool ForceSave { get; set; }
- public bool EnableRemoteContentProbe { get; set; }
- public MetadataRefreshOptions(IDirectoryService directoryService)
- : base(directoryService)
- {
- MetadataRefreshMode = MetadataRefreshMode.Default;
- }
- public MetadataRefreshOptions(MetadataRefreshOptions copy)
- : base(copy.DirectoryService)
- {
- MetadataRefreshMode = copy.MetadataRefreshMode;
- ForceSave = copy.ForceSave;
- ReplaceAllMetadata = copy.ReplaceAllMetadata;
- EnableRemoteContentProbe = copy.EnableRemoteContentProbe;
- ImageRefreshMode = copy.ImageRefreshMode;
- ReplaceAllImages = copy.ReplaceAllImages;
- ReplaceImages = copy.ReplaceImages;
- SearchResult = copy.SearchResult;
- if (copy.RefreshPaths != null && copy.RefreshPaths.Length > 0)
- {
- if (RefreshPaths == null)
- {
- RefreshPaths = Array.Empty<string>();
- }
- RefreshPaths = copy.RefreshPaths.ToArray();
- }
- }
- public bool RefreshItem(BaseItem item)
- {
- if (RefreshPaths != null && RefreshPaths.Length > 0)
- {
- return RefreshPaths.Contains(item.Path ?? string.Empty, StringComparer.OrdinalIgnoreCase);
- }
- return true;
- }
- }
- }
|