From d6c446c2fef1f33dcf5a0180c6a1b58738062266 Mon Sep 17 00:00:00 2001 From: thsrite Date: Sat, 13 Apr 2024 15:48:49 +0800 Subject: [PATCH] fix MyPluginManager --- plugins/pluginautoupdate/__init__.py | 12 +++++++++--- plugins/pluginreinstall/__init__.py | 10 +++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/plugins/pluginautoupdate/__init__.py b/plugins/pluginautoupdate/__init__.py index 4dbc6d7..1cbe607 100644 --- a/plugins/pluginautoupdate/__init__.py +++ b/plugins/pluginautoupdate/__init__.py @@ -16,6 +16,12 @@ from app.schemas import NotificationType from app.scheduler import Scheduler +class MyPluginManager(PluginManager): + def __init__(self): + # 不调用父类PluginManager的__init__方法 + pass + + class PluginAutoUpdate(_PluginBase): # 插件名称 plugin_name = "插件更新管理" @@ -49,13 +55,13 @@ class PluginAutoUpdate(_PluginBase): # 定时器 _scheduler: Optional[BackgroundScheduler] = None - _pluginmanager: PluginManager = None + _pluginmanager: MyPluginManager = None _plugin_version = {} def init_plugin(self, config: dict = None): # 停止现有任务 self.stop_service() - self._pluginmanager = PluginManager() + self._pluginmanager = MyPluginManager() if config: self._enabled = config.get("enabled") @@ -189,7 +195,7 @@ class PluginAutoUpdate(_PluginBase): if plugin_reload: if self._update: logger.info("开始插件重载") - PluginManager().init_config() + self._pluginmanager.init_config() else: logger.info("所有插件已是最新版本") diff --git a/plugins/pluginreinstall/__init__.py b/plugins/pluginreinstall/__init__.py index 1799ff7..35babdd 100644 --- a/plugins/pluginreinstall/__init__.py +++ b/plugins/pluginreinstall/__init__.py @@ -11,6 +11,12 @@ from app.schemas.types import SystemConfigKey from app.utils.string import StringUtils +class MyPluginManager(PluginManager): + def __init__(self): + # 不调用父类PluginManager的__init__方法 + pass + + class PluginReInstall(_PluginBase): # 插件名称 plugin_name = "插件强制重装" @@ -35,6 +41,7 @@ class PluginReInstall(_PluginBase): _plugin_ids = [] _plugin_url = [] _base_url = "https://raw.githubusercontent.com/%s/%s/main/" + _pluginmanager: MyPluginManager = None def init_plugin(self, config: dict = None): if config: @@ -42,6 +49,7 @@ class PluginReInstall(_PluginBase): if not self._plugin_ids: return self._plugin_url = config.get("plugin_url") + self._pluginmanager = MyPluginManager() # 校验插件仓库格式 plugin_url = None @@ -85,7 +93,7 @@ class PluginReInstall(_PluginBase): # 重载插件管理器 if plugin_reload: logger.info("开始插件重载") - PluginManager().init_config() + self._pluginmanager.init_config() @staticmethod def get_repo_info(repo_url: str) -> Tuple[Optional[str], Optional[str]]: