fix MyPluginManager

This commit is contained in:
thsrite
2024-04-13 15:48:49 +08:00
parent badd597f5a
commit d6c446c2fe
2 changed files with 18 additions and 4 deletions

View File

@@ -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("所有插件已是最新版本")

View File

@@ -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]]: