using Emby.Web.GenericEdit; using MediaBrowser.Common; using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Plugins; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.Drawing; using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Serialization; using System; using System.ComponentModel; using System.IO; namespace Emby.MeiamSub.Assrt { /// /// Assrt 插件入口 /// public class Plugin : BasePluginSimpleUI, IHasThumbImage { public Plugin(IApplicationPaths applicationPaths, IApplicationHost applicationHost) : base(applicationHost) { Instance = this; } /// /// 插件ID /// public override Guid Id => new Guid("D276A8D0-4B17-4EEF-94B6-61D646DE5A22"); /// /// 插件名称 /// public override string Name => "MeiamSub.Assrt"; /// /// 插件描述 /// public override string Description => "Download subtitles from Assrt (伪射手网)"; /// /// 缩略图格式化类型 /// public ImageFormat ThumbImageFormat => ImageFormat.Gif; /// /// 获取插件选项 /// public PluginConfiguration Options => this.GetOptions(); public static Plugin Instance { get; private set; } /// /// 获取插件缩略图资源流 /// /// 图片资源流,若不存在则返回 null public Stream GetThumbImage() { var type = GetType(); var resourceName = $"{type.Namespace}.Thumb.png"; var stream = type.Assembly.GetManifestResourceStream(resourceName); if (stream == null) { return null; } return stream; } } /// /// 插件配置类 /// public class PluginConfiguration : EditableOptionsBase { public override string EditorTitle => "MeiamSub Assrt Options"; [DisplayName("Assrt API Token")] [Description("请输入您在 assrt.net 注册获取的 32 位 API Token")] public string AssrtApiToken { get; set; } [DisplayName("使用元数据搜索字幕")] [Description("勾选此项后,使用元数据中的剧集名称和季集编号搜索字幕,而非文件名。建议开启。")] public bool EnableUseMetadata { get; set; } public PluginConfiguration() { AssrtApiToken = string.Empty; EnableUseMetadata = true; } } }