From b7deceed331efe1e5c84bead4a4923515830d1b6 Mon Sep 17 00:00:00 2001 From: RF-Tar-Railt Date: Mon, 16 Dec 2024 14:18:14 +0800 Subject: [PATCH] :bug: version 0.10.1 fix local_data & plugin referent --- arclet/entari/__init__.py | 2 +- arclet/entari/plugin/__init__.py | 2 ++ arclet/entari/plugin/module.py | 2 +- arclet/entari/utils/local_data.py | 2 +- pyproject.toml | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/arclet/entari/__init__.py b/arclet/entari/__init__.py index 5dee98f..62fbeb5 100644 --- a/arclet/entari/__init__.py +++ b/arclet/entari/__init__.py @@ -64,4 +64,4 @@ WH = WebhookInfo filter_ = Filter -__version__ = "0.10.0" +__version__ = "0.10.1" diff --git a/arclet/entari/plugin/__init__.py b/arclet/entari/plugin/__init__.py index 75ae653..84a13f9 100644 --- a/arclet/entari/plugin/__init__.py +++ b/arclet/entari/plugin/__init__.py @@ -128,6 +128,8 @@ def declare_static(): if not (plugin := _current_plugin.get(None)): raise LookupError("no plugin context found") plugin.is_static = True + if plugin.dispatchers: + raise StaticPluginDispatchError("static plugin cannot dispatch events") def find_plugin(name: str) -> Plugin | None: diff --git a/arclet/entari/plugin/module.py b/arclet/entari/plugin/module.py index 8431ec8..8e82027 100644 --- a/arclet/entari/plugin/module.py +++ b/arclet/entari/plugin/module.py @@ -117,7 +117,7 @@ def source_to_code(self, data, path, *, _optimize=-1): # type: ignore """ is_init = Path(path).name == "__init__.py" name = self.name - if not is_init and self.name.count("."): + if is_init and self.name.count("."): name = self.name.rpartition(".")[0] try: nodes = ast.parse(data, type_comments=True) diff --git a/arclet/entari/utils/local_data.py b/arclet/entari/utils/local_data.py index a9730bb..b93aabf 100644 --- a/arclet/entari/utils/local_data.py +++ b/arclet/entari/utils/local_data.py @@ -151,7 +151,7 @@ def __init__(self): self.root: Optional[Path] = None self.app_name = "Entari" self._temp_dir = TemporaryDirectory() - finalize(local_data, lambda obj: obj._temp_dir.cleanup(), self) + finalize(self, lambda obj: obj._temp_dir.cleanup(), self) def _get_base_cache_dir(self) -> Path: return user_cache_dir(self.app_name).resolve() if self.root is None else self.root diff --git a/pyproject.toml b/pyproject.toml index 6386f77..99db74b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "arclet-entari" -version = "0.10.0" +version = "0.10.1" description = "Simple IM Framework based on satori-python" authors = [ {name = "RF-Tar-Railt",email = "rf_tar_railt@qq.com"},