2
0

MetadataRefreshOptions.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using MediaBrowser.Model.Entities;
  2. using System;
  3. using System.Collections.Generic;
  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. public MetadataRefreshOptions()
  19. {
  20. MetadataRefreshMode = MetadataRefreshMode.Default;
  21. }
  22. }
  23. public class ImageRefreshOptions
  24. {
  25. public ImageRefreshMode ImageRefreshMode { get; set; }
  26. public IDirectoryService DirectoryService { get; set; }
  27. public bool ReplaceAllImages { get; set; }
  28. public List<ImageType> ReplaceImages { get; set; }
  29. public ImageRefreshOptions()
  30. {
  31. ImageRefreshMode = ImageRefreshMode.Default;
  32. ReplaceImages = new List<ImageType>();
  33. }
  34. public bool IsReplacingImage(ImageType type)
  35. {
  36. return ImageRefreshMode == ImageRefreshMode.FullRefresh &&
  37. (ReplaceAllImages || ReplaceImages.Contains(type));
  38. }
  39. }
  40. public enum MetadataRefreshMode
  41. {
  42. /// <summary>
  43. /// The none
  44. /// </summary>
  45. None = 0,
  46. /// <summary>
  47. /// The validation only
  48. /// </summary>
  49. ValidationOnly = 1,
  50. /// <summary>
  51. /// Providers will be executed based on default rules
  52. /// </summary>
  53. Default = 2,
  54. /// <summary>
  55. /// All providers will be executed to search for new metadata
  56. /// </summary>
  57. FullRefresh = 3
  58. }
  59. public enum ImageRefreshMode
  60. {
  61. /// <summary>
  62. /// The none
  63. /// </summary>
  64. None = 0,
  65. /// <summary>
  66. /// The default
  67. /// </summary>
  68. Default = 1,
  69. /// <summary>
  70. /// Existing images will be validated
  71. /// </summary>
  72. ValidationOnly = 2,
  73. /// <summary>
  74. /// All providers will be executed to search for new metadata
  75. /// </summary>
  76. FullRefresh = 3
  77. }
  78. }