diff --git a/Jellyfin.Plugin.Template.sln b/Jellyfin.Plugin.Template.sln deleted file mode 100644 index 241f725..0000000 --- a/Jellyfin.Plugin.Template.sln +++ /dev/null @@ -1,15 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Plugin.Template", "Jellyfin.Plugin.Template\Jellyfin.Plugin.Template.csproj", "{D921B930-CF91-406F-ACBC-08914DCD0D34}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D921B930-CF91-406F-ACBC-08914DCD0D34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D921B930-CF91-406F-ACBC-08914DCD0D34}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D921B930-CF91-406F-ACBC-08914DCD0D34}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D921B930-CF91-406F-ACBC-08914DCD0D34}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/Jellyfin.Plugin.Template/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.Template/Configuration/PluginConfiguration.cs deleted file mode 100644 index 564e6bf..0000000 --- a/Jellyfin.Plugin.Template/Configuration/PluginConfiguration.cs +++ /dev/null @@ -1,57 +0,0 @@ -using MediaBrowser.Model.Plugins; - -namespace Jellyfin.Plugin.Template.Configuration; - -/// -/// The configuration options. -/// -public enum SomeOptions -{ - /// - /// Option one. - /// - OneOption, - - /// - /// Second option. - /// - AnotherOption -} - -/// -/// Plugin configuration. -/// -public class PluginConfiguration : BasePluginConfiguration -{ - /// - /// Initializes a new instance of the class. - /// - public PluginConfiguration() - { - // set default options here - Options = SomeOptions.AnotherOption; - TrueFalseSetting = true; - AnInteger = 2; - AString = "string"; - } - - /// - /// Gets or sets a value indicating whether some true or false setting is enabled.. - /// - public bool TrueFalseSetting { get; set; } - - /// - /// Gets or sets an integer setting. - /// - public int AnInteger { get; set; } - - /// - /// Gets or sets a string setting. - /// - public string AString { get; set; } - - /// - /// Gets or sets an enum option. - /// - public SomeOptions Options { get; set; } -} diff --git a/Jellyfin.Plugin.Template/Configuration/configPage.html b/Jellyfin.Plugin.Template/Configuration/configPage.html deleted file mode 100644 index 23f024e..0000000 --- a/Jellyfin.Plugin.Template/Configuration/configPage.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - Template - - -
-
-
-
-
- - -
-
- - -
A Description
-
-
- -
-
- - -
Another Description
-
-
- -
-
-
-
- -
- - diff --git a/Jellyfin.Plugin.Template/Plugin.cs b/Jellyfin.Plugin.Template/Plugin.cs deleted file mode 100644 index b55d995..0000000 --- a/Jellyfin.Plugin.Template/Plugin.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; -using Jellyfin.Plugin.Template.Configuration; -using MediaBrowser.Common.Configuration; -using MediaBrowser.Common.Plugins; -using MediaBrowser.Model.Plugins; -using MediaBrowser.Model.Serialization; - -namespace Jellyfin.Plugin.Template; - -/// -/// The main plugin. -/// -public class Plugin : BasePlugin, IHasWebPages -{ - /// - /// Initializes a new instance of the class. - /// - /// Instance of the interface. - /// Instance of the interface. - public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer) - : base(applicationPaths, xmlSerializer) - { - Instance = this; - } - - /// - public override string Name => "Template"; - - /// - public override Guid Id => Guid.Parse("eb5d7894-8eef-4b36-aa6f-5d124e828ce1"); - - /// - /// Gets the current plugin instance. - /// - public static Plugin? Instance { get; private set; } - - /// - public IEnumerable GetPages() - { - return new[] - { - new PluginPageInfo - { - Name = this.Name, - EmbeddedResourcePath = string.Format(CultureInfo.InvariantCulture, "{0}.Configuration.configPage.html", GetType().Namespace) - } - }; - } -} diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs new file mode 100644 index 0000000..7ee8cad --- /dev/null +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/PluginConfiguration.cs @@ -0,0 +1,39 @@ +using MediaBrowser.Model.Plugins; + +namespace Jellyfin.Plugin.TubeArchivistMetadata.Configuration +{ + /// + /// The configuration options. + /// + public enum SomeOptions + { + /// + /// Option one. + /// + OneOption, + + /// + /// Second option. + /// + AnotherOption + } + + /// + /// Plugin configuration. + /// + public class PluginConfiguration : BasePluginConfiguration + { + /// + /// Initializes a new instance of the class. + /// + public PluginConfiguration() + { + CollectionTitle = "YouTube"; + } + + /// + /// Gets or sets TubeArchivist collection dispay name. + /// + public string CollectionTitle { get; set; } + } +} diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/configPage.html b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/configPage.html new file mode 100644 index 0000000..bc052d7 --- /dev/null +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Configuration/configPage.html @@ -0,0 +1,59 @@ + + + + + + Template + + + +
+
+
+
+
+ + +
TubeArchivist collection display name
+
+
+ +
+
+
+
+ +
+ + + diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Constants.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Constants.cs new file mode 100644 index 0000000..8528022 --- /dev/null +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Constants.cs @@ -0,0 +1,18 @@ +namespace Jellyfin.Plugin.TubeArchivistMetadata +{ + /// + /// Class containing plugin constants. + /// + public static class Constants + { + /// + /// Plugin name. + /// + public const string PluginName = "TubeArchivist Metadata"; + + /// + /// Plugin GUID. + /// + public const string PluginGuid = "dc97d0c6-28b0-4242-afb4-5833ae1b3715"; + } +} diff --git a/Jellyfin.Plugin.Template/Jellyfin.Plugin.Template.csproj b/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj similarity index 93% rename from Jellyfin.Plugin.Template/Jellyfin.Plugin.Template.csproj rename to Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj index dff6ac9..46ee0d1 100644 --- a/Jellyfin.Plugin.Template/Jellyfin.Plugin.Template.csproj +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Jellyfin.Plugin.TubeArchivistMetadata.csproj @@ -2,7 +2,7 @@ net6.0 - Jellyfin.Plugin.Template + Jellyfin.Plugin.TubeArchivistMetadata true true enable diff --git a/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs b/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs new file mode 100644 index 0000000..02b26a6 --- /dev/null +++ b/Jellyfin.Plugin.TubeArchivistMetadata/Plugin.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using Jellyfin.Plugin.TubeArchivistMetadata.Configuration; +using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Plugins; +using MediaBrowser.Model.Plugins; +using MediaBrowser.Model.Serialization; + +namespace Jellyfin.Plugin.TubeArchivistMetadata +{ + /// + /// The main plugin. + /// + public class Plugin : BasePlugin, IHasWebPages + { + /// + /// Initializes a new instance of the class. + /// + /// Instance of the interface. + /// Instance of the interface. + public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer) + : base(applicationPaths, xmlSerializer) + { + Instance = this; + } + + /// + public override string Name => Constants.PluginName; + + /// + public override Guid Id => Guid.Parse(Constants.PluginGuid); + + /// + /// Gets the current plugin instance. + /// + public static Plugin? Instance { get; private set; } + + /// + public IEnumerable GetPages() => new[] + { + new PluginPageInfo + { + Name = this.Name, + EmbeddedResourcePath = string.Format(CultureInfo.InvariantCulture, "{0}.Configuration.configPage.html", GetType().Namespace) + } + }; + } +} diff --git a/build.yaml b/build.yaml index 4663cd4..3c14512 100644 --- a/build.yaml +++ b/build.yaml @@ -1,16 +1,16 @@ --- -name: "Template" -guid: "eb5d7894-8eef-4b36-aa6f-5d124e828ce1" +name: "TubeArchivistMetadata" +guid: "dc97d0c6-28b0-4242-afb4-5833ae1b3715" version: "1.0.0.0" targetAbi: "10.8.0.0" framework: "net6.0" -overview: "Short description about your plugin" +overview: "Metadata for your TubeArchivist library" description: > - This is a longer description that can span more than one - line and include details about your plugin. + TubeArchivistMetadata is a plugin that automatically manages + metadata for videos downloaded with TubeArchivist from YouTube. category: "General" owner: "jellyfin" artifacts: -- "Jellyfin.Plugin.Template.dll" +- "Jellyfin.Plugin.TubeArchivistMetadata.dll" changelog: > changelog