def __init__(self): self._engines = {} self._handlers = {"VideoHandler": VideoHandler} # 默认的 Handler self._danmaku_engine = {} for engine in GLOBAL_CONFIG.get_enabled_engines(): self._load_engine(engine) for danmaku in GLOBAL_CONFIG.get_enabled_danmaku(): self._load_danmaku(danmaku)
def enable_danmaku(self, danmaku: str) -> bool: """启用某个弹幕搜索引擎""" if danmaku in self._danmaku_engine: logger.info(f"Danmaku Engine {danmaku} has already loaded") return True # 已经启用了 self._load_danmaku(danmaku) # 动态加载引擎 return GLOBAL_CONFIG.enable_danmaku(danmaku) # 更新配置文件
def enable_engine(self, engine: str) -> bool: """启用某个动漫搜索引擎""" if engine in self._engines: logger.info(f"Anime Engine {engine} has already loaded") return True # 已经启用了 self._load_engine(engine) # 动态加载引擎 return GLOBAL_CONFIG.enable_engine(engine) # 更新配置文件
def disable_danmaku(self, danmaku: str) -> bool: """禁用某个弹幕搜索引擎, engine: api.danmaku.xxx""" if danmaku not in self._danmaku_engine: logger.info(f"Danmaku Engine {danmaku} has already disabled") return True # 本来就没启用 self._danmaku_engine.pop(danmaku) logger.info(f"Disabled Danmaku Engine: {danmaku}") return GLOBAL_CONFIG.disable_danmaku(danmaku)
def disable_engine(self, engine: str) -> bool: """禁用某个动漫搜索引擎, engine: api.engines.xxx""" if engine not in self._engines: logger.info(f"Anime Engine {engine} has already disabled") return True # 本来就没启用 self._engines.pop(engine) logger.info(f"Disabled Anime Engine: {engine}") return GLOBAL_CONFIG.disable_engine(engine)
def show_settings(): if request.method == "GET": return jsonify(GLOBAL_CONFIG.get_all_configs())