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;
}
}
}