VirtualItemImageValidator.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using MediaBrowser.Controller.Configuration;
  2. using MediaBrowser.Controller.Entities;
  3. using MediaBrowser.Controller.Providers;
  4. using MediaBrowser.Model.Entities;
  5. using MediaBrowser.Model.Logging;
  6. using System;
  7. using System.Threading;
  8. using System.Threading.Tasks;
  9. namespace MediaBrowser.Providers
  10. {
  11. public class VirtualItemImageValidator : BaseMetadataProvider
  12. {
  13. public VirtualItemImageValidator(ILogManager logManager, IServerConfigurationManager configurationManager)
  14. : base(logManager, configurationManager)
  15. {
  16. }
  17. public override bool Supports(BaseItem item)
  18. {
  19. var locationType = item.LocationType;
  20. return locationType == LocationType.Virtual ||
  21. locationType == LocationType.Remote;
  22. }
  23. public override Task<bool> FetchAsync(BaseItem item, bool force, BaseProviderInfo providerInfo, CancellationToken cancellationToken)
  24. {
  25. item.ValidateImages();
  26. item.ValidateBackdrops();
  27. var hasScreenshots = item as IHasScreenshots;
  28. if (hasScreenshots != null)
  29. {
  30. hasScreenshots.ValidateScreenshots();
  31. }
  32. SetLastRefreshed(item, DateTime.UtcNow, providerInfo);
  33. return TrueTaskResult;
  34. }
  35. public override MetadataProviderPriority Priority
  36. {
  37. get { return MetadataProviderPriority.First; }
  38. }
  39. }
  40. }