From 92a5b3d2272de2475ab7515312aa4398fd0d6f06 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 21 Mar 2024 21:30:26 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E7=BA=BF=E4=B8=8A=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=A4=9A=E7=BA=BF=E7=A8=8B=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/plugin.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/app/core/plugin.py b/app/core/plugin.py index 7c697146..e39a1397 100644 --- a/app/core/plugin.py +++ b/app/core/plugin.py @@ -119,13 +119,13 @@ class PluginManager(metaclass=Singleton): """ if SystemUtils.is_frozen(): return - logger.info("开始安装在线插件...") + logger.info("开始安装第三方插件...") # 已安装插件 install_plugins = self.systemconfig.get(SystemConfigKey.UserInstalledPlugins) or [] # 在线插件 online_plugins = self.get_online_plugins() if not online_plugins: - logger.error("未获取到在线插件") + logger.error("未获取到第三方插件") return # 支持更新的插件自动更新 for plugin in online_plugins: @@ -140,7 +140,7 @@ class PluginManager(metaclass=Singleton): f"插件 {plugin.get('plugin_name')} v{plugin.get('plugin_version')} 安装失败:{msg}") continue logger.info(f"插件 {plugin.get('plugin_name')} 安装成功,版本:{plugin.get('plugin_version')}") - logger.info("在线插件安装完成") + logger.info("第三方插件安装完成") def get_plugin_config(self, pid: str) -> dict: """ @@ -359,20 +359,19 @@ class PluginManager(metaclass=Singleton): if not settings.PLUGIN_MARKET: return [] - logger.info(f"开始获取第三方插件...") # 返回值 all_plugins = [] # 已安装插件 installed_apps = self.systemconfig.get(SystemConfigKey.UserInstalledPlugins) or [] # 使用多线程获取线上插件 - executor = concurrent.futures.ThreadPoolExecutor() - futures = [] - for m in settings.PLUGIN_MARKET.split(","): - futures.append(executor.submit(__get_plugin_info, m)) - for future in concurrent.futures.as_completed(futures): - plugins = future.result() - if plugins: - all_plugins.extend(plugins) + with concurrent.futures.ThreadPoolExecutor() as executor: + futures = [] + for m in settings.PLUGIN_MARKET.split(","): + futures.append(executor.submit(__get_plugin_info, m)) + for future in concurrent.futures.as_completed(futures): + plugins = future.result() + if plugins: + all_plugins.extend(plugins) logger.info(f"共获取到 {len(all_plugins)} 个第三方插件") # 按插件ID去重 return list({v["id"]: v for v in all_plugins}.values())