MetadataRefreshOptions.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.Collections.Generic;
  3. using MediaBrowser.Model.Entities;
  4. namespace MediaBrowser.Controller.Providers
  5. {
  6. public class MetadataRefreshOptions : ImageRefreshOptions
  7. {
  8. /// <summary>
  9. /// When paired with MetadataRefreshMode=FullRefresh, all existing data will be overwritten with new data from the providers.
  10. /// </summary>
  11. public bool ReplaceAllMetadata { get; set; }
  12. public MetadataRefreshMode MetadataRefreshMode { get; set; }
  13. /// <summary>
  14. /// TODO: deprecate. Keeping this for now, for api compatibility
  15. /// </summary>
  16. [Obsolete]
  17. public bool ForceSave { get; set; }
  18. }
  19. public class ImageRefreshOptions
  20. {
  21. public ImageRefreshMode ImageRefreshMode { get; set; }
  22. public IDirectoryService DirectoryService { get; set; }
  23. public bool ReplaceAllImages { get; set; }
  24. public List<ImageType> ReplaceImages { get; set; }
  25. public ImageRefreshOptions()
  26. {
  27. ImageRefreshMode = ImageRefreshMode.Default;
  28. ReplaceImages = new List<ImageType>();
  29. }
  30. public bool IsReplacingImage(ImageType type)
  31. {
  32. return ReplaceAllImages || ReplaceImages.Contains(type);
  33. }
  34. }
  35. public enum MetadataRefreshMode
  36. {
  37. /// <summary>
  38. /// Providers will be executed based on default rules
  39. /// </summary>
  40. EnsureMetadata = 0,
  41. /// <summary>
  42. /// No providers will be executed
  43. /// </summary>
  44. None = 1,
  45. /// <summary>
  46. /// All providers will be executed to search for new metadata
  47. /// </summary>
  48. FullRefresh = 2,
  49. /// <summary>
  50. /// The validation only
  51. /// </summary>
  52. ValidationOnly = 3
  53. }
  54. public enum ImageRefreshMode
  55. {
  56. /// <summary>
  57. /// The default
  58. /// </summary>
  59. Default = 0,
  60. /// <summary>
  61. /// Existing images will be validated
  62. /// </summary>
  63. ValidationOnly = 1,
  64. /// <summary>
  65. /// All providers will be executed to search for new metadata
  66. /// </summary>
  67. FullRefresh = 2
  68. }
  69. }