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()