using System; using System.Collections.Generic; using System.Globalization; using Jellyfin.Plugin.RecentlyAddedGuard.Configuration; using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Plugins; using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Serialization; namespace Jellyfin.Plugin.RecentlyAddedGuard; /// /// Keeps quality upgrades from Radarr and Sonarr out of "Recently Added". /// public class Plugin : BasePlugin, IHasWebPages { /// /// The permanent plugin id. Never change it: it identifies the plugin in the catalog and in installations. /// public const string PluginGuid = "6fdfedef-adde-4ac3-a873-62a057c95574"; private static readonly Guid _pluginId = Guid.Parse(PluginGuid); /// /// Initializes a new instance of the class. /// /// The application paths. /// The XML serializer. public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer) : base(applicationPaths, xmlSerializer) { Instance = this; } /// /// Gets the plugin instance; set once Jellyfin has created the plugin. /// public static Plugin? Instance { get; private set; } /// public override string Name => "Recently Added Guard"; /// public override Guid Id => _pluginId; /// public override string Description => "Hält Qualitäts-Upgrades von Radarr und Sonarr aus „Zuletzt hinzugefügt“ fern, indem es das erste Hinzufügedatum pro Film und Episode bewahrt."; /// /// Gets the current configuration, or the defaults before the plugin is loaded. /// internal static PluginConfiguration CurrentConfiguration => Instance?.Configuration ?? new PluginConfiguration(); /// public IEnumerable GetPages() { yield return new PluginPageInfo { Name = "RecentlyAddedGuard", DisplayName = Name, EmbeddedResourcePath = string.Format(CultureInfo.InvariantCulture, "{0}.Configuration.configPage.html", GetType().Namespace) }; } }