ImageRefreshOptions.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma warning disable CA1819, CS1591
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using MediaBrowser.Model.Entities;
  6. namespace MediaBrowser.Controller.Providers
  7. {
  8. public class ImageRefreshOptions
  9. {
  10. public ImageRefreshOptions(IDirectoryService directoryService)
  11. {
  12. ImageRefreshMode = MetadataRefreshMode.Default;
  13. DirectoryService = directoryService;
  14. ReplaceImages = Array.Empty<ImageType>();
  15. IsAutomated = true;
  16. }
  17. public MetadataRefreshMode ImageRefreshMode { get; set; }
  18. public IDirectoryService DirectoryService { get; private set; }
  19. public bool ReplaceAllImages { get; set; }
  20. public IReadOnlyList<ImageType> ReplaceImages { get; set; }
  21. public bool IsAutomated { get; set; }
  22. /// <summary>
  23. /// Gets or sets a value indicating whether old metadata should be removed if it isn't replaced.
  24. /// </summary>
  25. public bool RemoveOldMetadata { get; set; }
  26. public bool IsReplacingImage(ImageType type)
  27. {
  28. return ImageRefreshMode == MetadataRefreshMode.FullRefresh
  29. && (ReplaceAllImages || ReplaceImages.Contains(type));
  30. }
  31. }
  32. }