From e36192025a52d827015d6a6b1d17c347b992f7e2 Mon Sep 17 00:00:00 2001 From: thsrite Date: Wed, 29 May 2024 20:28:09 +0800 Subject: [PATCH] =?UTF-8?q?fix=20v1.9=20=E8=BF=87=E6=BB=A4=E7=9B=B8?= =?UTF-8?q?=E5=90=8CID=E6=8F=92=E4=BB=B6=EF=BC=8C=E4=BF=9D=E7=95=99?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=88=E6=9C=AC=E6=A3=80=E6=9F=A5=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- package.json | 3 ++- plugins/pluginautoupdate/__init__.py | 11 ++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 654c999..a41dba6 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ MoviePilot三方插件市场:https://github.com/thsrite/MoviePilot-Plugins/ - 清理订阅缓存 1.0 - 添加种子下载 1.0 - 删除站点种子 1.2 -- 插件更新管理 1.8 +- 插件更新管理 1.9 - 插件强制重装 1.7 - 群辉Webhook通知 1.1 - 同步CookieCloud 1.2 diff --git a/package.json b/package.json index 5d7b35d..cee121a 100644 --- a/package.json +++ b/package.json @@ -104,11 +104,12 @@ "name": "插件更新管理", "description": "监测已安装插件,推送更新提醒,可配置自动更新。", "labels": "自动更新,插件管理", - "version": "1.8", + "version": "1.9", "icon": "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/pluginupdate.png", "author": "thsrite", "level": 1, "history": { + "v1.9": "过滤相同ID插件,保留最新版本检查更新", "v1.8": "修复已安装插件列表", "v1.7": "插件API立即生效", "v1.6": "插件重载,插件自动更新注册成为服务、命令", diff --git a/plugins/pluginautoupdate/__init__.py b/plugins/pluginautoupdate/__init__.py index 793466f..403b198 100644 --- a/plugins/pluginautoupdate/__init__.py +++ b/plugins/pluginautoupdate/__init__.py @@ -30,7 +30,7 @@ class PluginAutoUpdate(_PluginBase): # 插件图标 plugin_icon = "https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/icons/pluginupdate.png" # 插件版本 - plugin_version = "1.8" + plugin_version = "1.9" # 插件作者 plugin_author = "thsrite" # 作者主页 @@ -137,6 +137,15 @@ class PluginAutoUpdate(_PluginBase): logger.error("未获取到在线插件,停止运行") return + # 使用字典来存储每个插件的最大版本号 + max_versions = {} + for plugin in online_plugins: + if plugin.id not in max_versions or plugin.plugin_version > max_versions[plugin.id]: + max_versions[plugin.id] = plugin.plugin_version + # 根据最大版本号来筛选数据 + online_plugins = [plugin for plugin in online_plugins if + plugin.plugin_version == max_versions[plugin.id]] + # 已安装插件版本 self.__get_install_plugin_version()