From 09f7dc443247482bd455a617351af2835b6fcb32 Mon Sep 17 00:00:00 2001 From: RF-Tar-Railt Date: Mon, 30 Dec 2024 15:45:19 +0800 Subject: [PATCH] :bug: version 0.11.1 fix unload_plugin --- arclet/entari/__init__.py | 2 +- arclet/entari/plugin/__init__.py | 19 +++++++++---------- pyproject.toml | 2 +- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/arclet/entari/__init__.py b/arclet/entari/__init__.py index 338a4f9..bdec6e4 100644 --- a/arclet/entari/__init__.py +++ b/arclet/entari/__init__.py @@ -67,4 +67,4 @@ WH = WebhookInfo filter_ = Filter -__version__ = "0.10.5" +__version__ = "0.11.1" diff --git a/arclet/entari/plugin/__init__.py b/arclet/entari/plugin/__init__.py index 47562e9..2935b7d 100644 --- a/arclet/entari/plugin/__init__.py +++ b/arclet/entari/plugin/__init__.py @@ -100,16 +100,6 @@ def load_plugins(dir_: str | PathLike | Path): load_plugin(".".join(p.parts[:-1:1]) + "." + p.stem) -def unload_plugin(plugin: str): - while plugin in plugin_service._subplugined: - plugin = plugin_service._subplugined[plugin] - if plugin not in plugin_service.plugins: - return False - _plugin = plugin_service.plugins[plugin] - _plugin.dispose() - return True - - @init_spec(PluginMetadata) def metadata(data: PluginMetadata): if not (plugin := _current_plugin.get(None)): @@ -180,4 +170,13 @@ def find_plugin_by_file(file: str) -> Plugin | None: return None +def unload_plugin(plugin: str): + while plugin in plugin_service._subplugined: + plugin = plugin_service._subplugined[plugin] + if not (_plugin := find_plugin(plugin)): + return False + _plugin.dispose() + return True + + listen = es.on diff --git a/pyproject.toml b/pyproject.toml index 6d1e131..fb40396 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "arclet-entari" -version = "0.11.0" +version = "0.11.1" description = "Simple IM Framework based on satori-python" authors = [ {name = "RF-Tar-Railt",email = "rf_tar_railt@qq.com"},