From e4537e7f8f60b0d73a2fb1125b530c0097a21186 Mon Sep 17 00:00:00 2001 From: molanp <104612722+molanp@users.noreply.github.com> Date: Fri, 26 Sep 2025 21:08:59 +0800 Subject: [PATCH] =?UTF-8?q?fix(plugin=5Fstore):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E6=A8=A1=E5=9D=97=E8=B7=AF=E5=BE=84=E5=A4=84?= =?UTF-8?q?=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 简化了插件模块路径的赋值逻辑,直接使用插件对象的模块路径,避免不必要的路径分割操作。 同时修复了目标目录判断条件,确保只有在模块路径为根目录时才使用插件名称作为目录。 --- zhenxun/builtin_plugins/plugin_store/data_source.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/zhenxun/builtin_plugins/plugin_store/data_source.py b/zhenxun/builtin_plugins/plugin_store/data_source.py index e0114077..284307d5 100644 --- a/zhenxun/builtin_plugins/plugin_store/data_source.py +++ b/zhenxun/builtin_plugins/plugin_store/data_source.py @@ -213,13 +213,9 @@ class StoreManager: if plugin_obj := await PluginInfo.get_plugin( module=plugin_info.module, plugin_type=PluginType.PARENT ): - plugin_info.module_path = ".".join( - plugin_obj.module_path.split(".")[:-1] - ) + plugin_info.module_path = plugin_obj.module_path elif plugin_obj := await PluginInfo.get_plugin(module=plugin_info.module): - plugin_info.module_path = ".".join( - plugin_obj.module_path.split(".")[:-1] - ) + plugin_info.module_path = plugin_obj.module_path return plugin_info, is_external if is_update: @@ -291,7 +287,7 @@ class StoreManager: files = [RepoFileInfo(path=f"{replace_module_path}.py", is_dir=False)] if not is_external: target_dir = BASE_PATH - elif is_dir: + elif is_dir and module_path == ".": target_dir = BASE_PATH / "plugins" / plugin_name else: target_dir = BASE_PATH / "plugins"