ChannelAudioItem.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using MediaBrowser.Controller.Entities.Audio;
  2. using MediaBrowser.Model.Channels;
  3. using MediaBrowser.Model.Configuration;
  4. using MediaBrowser.Model.Entities;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. namespace MediaBrowser.Controller.Channels
  8. {
  9. public class ChannelAudioItem : Audio, IChannelMediaItem
  10. {
  11. public string ExternalId { get; set; }
  12. public string ChannelId { get; set; }
  13. public string DataVersion { get; set; }
  14. public ChannelItemType ChannelItemType { get; set; }
  15. public bool IsInfiniteStream { get; set; }
  16. public ChannelMediaContentType ContentType { get; set; }
  17. public string OriginalImageUrl { get; set; }
  18. public List<ChannelMediaInfo> ChannelMediaSources { get; set; }
  19. protected override bool GetBlockUnratedValue(UserConfiguration config)
  20. {
  21. return config.BlockUnratedItems.Contains(UnratedItem.ChannelContent);
  22. }
  23. public override string GetUserDataKey()
  24. {
  25. return ExternalId;
  26. }
  27. public override bool SupportsLocalMetadata
  28. {
  29. get
  30. {
  31. return false;
  32. }
  33. }
  34. public override bool IsSaveLocalMetadataEnabled()
  35. {
  36. return false;
  37. }
  38. public ChannelAudioItem()
  39. {
  40. ChannelMediaSources = new List<ChannelMediaInfo>();
  41. }
  42. public override LocationType LocationType
  43. {
  44. get
  45. {
  46. if (string.IsNullOrEmpty(Path))
  47. {
  48. return LocationType.Remote;
  49. }
  50. return base.LocationType;
  51. }
  52. }
  53. protected override string GetInternalMetadataPath(string basePath)
  54. {
  55. return System.IO.Path.Combine(basePath, "channels", ChannelId, Id.ToString("N"));
  56. }
  57. }
  58. }