using System; using System.Collections.Generic; using System.Globalization; using Jellyfin.Plugin.PersonalRecordings.Configuration; using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Plugins; using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Serialization; namespace Jellyfin.Plugin.PersonalRecordings; /// /// Moves completed Live TV recordings into per-user folders based on who scheduled them. /// public class Plugin : BasePlugin, IHasWebPages { /// /// Initializes a new instance of the class. /// /// Application paths. /// XML serializer. public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer) : base(applicationPaths, xmlSerializer) { Instance = this; } /// public override string Name => "Personal Recordings"; /// public override string Description => "Tracks which user scheduled a Live TV recording and moves completed files into /recordings//."; /// public override Guid Id => Guid.Parse("7f3e9c2a-4b1d-4e8f-9a6c-2d5e8f1b3c4a"); /// /// Gets the current plugin instance. /// public static Plugin? Instance { get; private set; } /// public IEnumerable GetPages() { return [ new PluginPageInfo { Name = Name, EmbeddedResourcePath = string.Format( CultureInfo.InvariantCulture, "{0}.Configuration.configPage.html", GetType().Namespace) } ]; } }