From 4a4d93e7f9fcd9e720ca3119c95c23b15013fce1 Mon Sep 17 00:00:00 2001 From: InfinityPacer Date: Sun, 19 Apr 2026 04:20:01 +0800 Subject: [PATCH] refactor(plugin): expose plugin list processing helper --- app/api/endpoints/plugin.py | 2 +- app/core/plugin.py | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/api/endpoints/plugin.py b/app/api/endpoints/plugin.py index 6a4631b4..c51f6409 100644 --- a/app/api/endpoints/plugin.py +++ b/app/api/endpoints/plugin.py @@ -159,7 +159,7 @@ async def all_plugins(_: User = Depends(get_current_active_superuser_async), local_repo_plugins = plugin_manager.get_local_repo_plugins() # 在线插件 online_plugins = await plugin_manager.async_get_online_plugins(force) - candidate_plugins = plugin_manager._process_plugins_list(online_plugins + local_repo_plugins, []) \ + candidate_plugins = plugin_manager.process_plugins_list(online_plugins + local_repo_plugins, []) \ if online_plugins or local_repo_plugins else [] if not candidate_plugins: # 没有获取在线插件 diff --git a/app/core/plugin.py b/app/core/plugin.py index 592f3c85..cfbd7d7f 100644 --- a/app/core/plugin.py +++ b/app/core/plugin.py @@ -437,7 +437,7 @@ class PluginManager(ConfigReloadMixin, metaclass=Singleton): @staticmethod def _get_local_plugin_candidate_from_path(event_path: Path) -> Optional[dict]: """ - 根据本地插件仓库路径解析具体插件候选,保留 plugins/plugins.v2 来源差异。 + 根据本地插件仓库路径解析具体插件候选,保留 plugins/plugins.v2 来源差异 """ try: event_path = event_path.resolve() @@ -475,7 +475,7 @@ class PluginManager(ConfigReloadMixin, metaclass=Singleton): @staticmethod def _sync_local_plugin_if_installed(pid: str, candidate: Optional[dict] = None) -> bool: """ - 已安装本地插件源码变化时,同步到运行目录。 + 已安装本地插件源码变化时,同步到运行目录 """ installed_plugins = SystemConfigOper().get(SystemConfigKey.UserInstalledPlugins) or [] if pid not in installed_plugins: @@ -1158,7 +1158,7 @@ class PluginManager(ConfigReloadMixin, metaclass=Singleton): else: base_version_plugins.extend(plugins) # 收集 v1 版本插件 - return self._process_plugins_list(higher_version_plugins, base_version_plugins) + return self.process_plugins_list(higher_version_plugins, base_version_plugins) def get_local_plugins(self) -> List[schemas.Plugin]: """ @@ -1235,7 +1235,7 @@ class PluginManager(ConfigReloadMixin, metaclass=Singleton): def get_local_repo_plugins(self) -> List[schemas.Plugin]: """ - 获取本地插件仓库目录中的插件信息。 + 获取本地插件仓库目录中的插件信息 """ plugins = [] installed_apps = SystemConfigOper().get(SystemConfigKey.UserInstalledPlugins) or [] @@ -1326,8 +1326,8 @@ class PluginManager(ConfigReloadMixin, metaclass=Singleton): return ret_plugins @staticmethod - def _process_plugins_list(higher_version_plugins: List[schemas.Plugin], - base_version_plugins: List[schemas.Plugin]) -> List[schemas.Plugin]: + def process_plugins_list(higher_version_plugins: List[schemas.Plugin], + base_version_plugins: List[schemas.Plugin]) -> List[schemas.Plugin]: """ 处理插件列表:合并、去重、排序、保留最高版本 :param higher_version_plugins: 高版本插件列表 @@ -1523,7 +1523,7 @@ class PluginManager(ConfigReloadMixin, metaclass=Singleton): else: base_version_plugins.extend(plugins) # 收集 v1 版本插件 - return self._process_plugins_list(higher_version_plugins, base_version_plugins) + return self.process_plugins_list(higher_version_plugins, base_version_plugins) async def async_get_plugins_from_market(self, market: str, package_version: Optional[str] = None,