From 0defb00ede62e0f9d668ec69252b40e31c3043f6 Mon Sep 17 00:00:00 2001 From: EillesWan Date: Sat, 24 Aug 2024 01:43:35 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=A8=E6=96=B0=E5=A2=9E=E6=9C=AA?= =?UTF-8?q?=E6=8C=87=E5=AE=9Ametadata=E7=9A=84=E7=A9=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- liteyuki/plugin/load.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/liteyuki/plugin/load.py b/liteyuki/plugin/load.py index 6a2c5cf4..a18cabe4 100644 --- a/liteyuki/plugin/load.py +++ b/liteyuki/plugin/load.py @@ -45,21 +45,32 @@ def load_plugin(module_path: str | Path) -> Optional[Plugin]: name=module.__name__, module=module, module_name=module_path, - metadata=module.__dict__.get("__plugin_metadata__", None), ) - display_name = module.__name__.split(".")[-1] - if module.__dict__.get("__liteyuki_plugin_meta__"): + if module.__dict__.get("__plugin_metadata__", None): + metadata: "PluginMetadata" = module.__dict__["__plugin_metadata__"] + display_name = module.__name__.split(".")[-1] + elif module.__dict__.get("__liteyuki_plugin_meta__", None): metadata: "PluginMetadata" = module.__dict__["__liteyuki_plugin_meta__"] display_name = format_display_name( f"{metadata.name}({module.__name__.split('.')[-1]})", metadata.type ) - elif module.__dict__.get("__plugin_meta__"): + elif module.__dict__.get("__plugin_meta__", None): metadata: "PluginMetadata" = module.__dict__["__plugin_meta__"] display_name = format_display_name( f"{metadata.name}({module.__name__.split('.')[-1]})", metadata.type ) - - # 那获取metadata有什么用?? + else: + + logger.opt(colors=True).warning( + f'The metadata of Liteyuki plugin "{module.__name__}" is not specified, use empty.' + ) + + metadata = PluginMetadata( + name=module.__name__, + ) + display_name = module.__name__.split(".")[-1] + + _plugins[module.__name__].metadata = metadata logger.opt(colors=True).success( f'Succeeded to load liteyuki plugin "{display_name}"'