Plugin.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #nullable disable
  2. using System;
  3. using System.Collections.Generic;
  4. using MediaBrowser.Common.Configuration;
  5. using MediaBrowser.Common.Plugins;
  6. using MediaBrowser.Model.Plugins;
  7. using MediaBrowser.Model.Serialization;
  8. using MediaBrowser.Providers.Plugins.StudioImages.Configuration;
  9. namespace MediaBrowser.Providers.Plugins.StudioImages
  10. {
  11. /// <summary>
  12. /// Artwork Plugin class.
  13. /// </summary>
  14. public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
  15. {
  16. /// <summary>
  17. /// Artwork repository URL.
  18. /// </summary>
  19. public const string DefaultServer = "https://raw.githubusercontent.com/jellyfin/emby-artwork/master/studios";
  20. /// <summary>
  21. /// Initializes a new instance of the <see cref="Plugin"/> class.
  22. /// </summary>
  23. /// <param name="applicationPaths">application paths.</param>
  24. /// <param name="xmlSerializer">xml serializer.</param>
  25. public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer)
  26. : base(applicationPaths, xmlSerializer)
  27. {
  28. Instance = this;
  29. }
  30. /// <summary>
  31. /// Gets the instance of Artwork plugin.
  32. /// </summary>
  33. public static Plugin Instance { get; private set; }
  34. /// <inheritdoc/>
  35. public override Guid Id => new Guid("872a7849-1171-458d-a6fb-3de3d442ad30");
  36. /// <inheritdoc/>
  37. public override string Name => "Studio Images";
  38. /// <inheritdoc/>
  39. public override string Description => "Get artwork for studios from any Jellyfin-compatible repository.";
  40. // TODO remove when plugin removed from server.
  41. /// <inheritdoc/>
  42. public override string ConfigurationFileName => "Jellyfin.Plugin.StudioImages.xml";
  43. /// <inheritdoc/>
  44. public IEnumerable<PluginPageInfo> GetPages()
  45. {
  46. yield return new PluginPageInfo
  47. {
  48. Name = Name,
  49. EmbeddedResourcePath = GetType().Namespace + ".Configuration.config.html"
  50. };
  51. }
  52. }
  53. }