From 1ccd4cf45f523f85f90e2485e802309002c912f1 Mon Sep 17 00:00:00 2001 From: thsrite Date: Sat, 13 Apr 2024 16:16:10 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=8F=92=E4=BB=B6=E9=87=8D=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- package.json | 6 ++++-- plugins/pluginautoupdate/__init__.py | 20 ++++++++++++-------- plugins/pluginreinstall/__init__.py | 16 +++++++++------- 4 files changed, 27 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index ff1daf7..dff4d5b 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ MoviePilot三方插件市场:https://github.com/thsrite/MoviePilot-Plugins/ - 清理订阅缓存 1.0 - 添加种子下载 1.0 - 删除站点种子 1.1 -- 插件更新管理 1.5 -- 插件强制重装 1.2 +- 插件更新管理 1.6 +- 插件强制重装 1.3 - 群辉Webhook通知 1.1 - 同步CookieCloud 1.2 - 日程提醒 1.0 diff --git a/package.json b/package.json index 71c8433..5c41bf6 100644 --- a/package.json +++ b/package.json @@ -77,11 +77,12 @@ "PluginAutoUpdate": { "name": "插件更新管理", "description": "监测已安装插件,推送更新提醒,可配置自动更新。", - "version": "1.5", + "version": "1.6", "icon": "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/pluginupdate.png", "author": "thsrite", "level": 1, "history": { + "v1.6": "插件重载", "v1.5": "自动更新增加排除列表", "v1.4": "正在运行的插件跳过更新,可选更新插件列表", "v1.3": "配置更新提醒", @@ -93,11 +94,12 @@ "PluginReInstall": { "name": "插件强制重装", "description": "卸载当前插件,强制重装。", - "version": "1.2", + "version": "1.3", "icon": "refresh.png", "author": "thsrite", "level": 1, "history": { + "v1.3": "插件重载", "v1.2": "支持指定插件仓库地址", "v1.1": "修复插件重载", "v1.0": "卸载当前插件,强制重装" diff --git a/plugins/pluginautoupdate/__init__.py b/plugins/pluginautoupdate/__init__.py index d7c5340..f3c1f25 100644 --- a/plugins/pluginautoupdate/__init__.py +++ b/plugins/pluginautoupdate/__init__.py @@ -24,7 +24,7 @@ class PluginAutoUpdate(_PluginBase): # 插件图标 plugin_icon = "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/pluginupdate.png" # 插件版本 - plugin_version = "1.5" + plugin_version = "1.6" # 插件作者 plugin_author = "thsrite" # 作者主页 @@ -66,8 +66,6 @@ class PluginAutoUpdate(_PluginBase): self._exclude_ids = config.get("exclude_ids") if self._enabled: - # 已安装插件版本 - self.__get_install_plugin_version() # 定时服务 self._scheduler = BackgroundScheduler(timezone=settings.TZ) @@ -116,6 +114,9 @@ class PluginAutoUpdate(_PluginBase): logger.error("未获取到在线插件,停止运行") return + # 已安装插件版本 + self.__get_install_plugin_version() + # 系统运行的服务 schedulers = Scheduler().list() running_scheduler = [] @@ -162,6 +163,13 @@ class PluginAutoUpdate(_PluginBase): plugin_reload = True title = f"插件 {plugin.plugin_name} 更新成功" logger.info(f"{title} {version_text}") + + # 统计 + PluginHelper().install_reg(plugin.id) + # 加载插件到内存 + PluginManager().reload_plugin(plugin.id) + # 注册插件服务 + Scheduler().update_plugin_job(plugin.id) else: title = f"插件 {plugin.plugin_name} 有更新啦" @@ -184,11 +192,7 @@ class PluginAutoUpdate(_PluginBase): image=plugin_icon) # 重载插件管理器 - if plugin_reload: - if self._update: - logger.info("开始插件重载") - PluginManager().init_config() - else: + if not plugin_reload: logger.info("所有插件已是最新版本") def __get_install_plugin_version(self): diff --git a/plugins/pluginreinstall/__init__.py b/plugins/pluginreinstall/__init__.py index 6e59bad..d41ef5d 100644 --- a/plugins/pluginreinstall/__init__.py +++ b/plugins/pluginreinstall/__init__.py @@ -9,6 +9,7 @@ from typing import Any, List, Dict, Tuple, Optional from app.log import logger from app.schemas.types import SystemConfigKey from app.utils.string import StringUtils +from app.scheduler import Scheduler class PluginReInstall(_PluginBase): @@ -19,7 +20,7 @@ class PluginReInstall(_PluginBase): # 插件图标 plugin_icon = "refresh.png" # 插件版本 - plugin_version = "1.2" + plugin_version = "1.3" # 插件作者 plugin_author = "thsrite" # 作者主页 @@ -63,7 +64,6 @@ class PluginReInstall(_PluginBase): local_plugins = self.get_local_plugins() # 开始重载插件 - plugin_reload = False for plugin_id in list(local_plugins.keys()): local_plugin = local_plugins.get(plugin_id) if plugin_id in self._plugin_ids: @@ -80,12 +80,14 @@ class PluginReInstall(_PluginBase): logger.info( f"插件 {local_plugin.get('plugin_name')} 重装成功,当前版本 {local_plugin.get('plugin_version')}") - plugin_reload = True - # 重载插件管理器 - if plugin_reload: - logger.info("开始插件重载") - PluginManager().init_config() + # 统计 + PluginHelper().install_reg(plugin_id) + # 加载插件到内存 + PluginManager().reload_plugin(plugin_id) + # 注册插件服务 + Scheduler().update_plugin_job(plugin_id) + @staticmethod def get_repo_info(repo_url: str) -> Tuple[Optional[str], Optional[str]]: