diff options
| author | 2023-12-16 20:30:33 +0800 | |
|---|---|---|
| committer | 2023-12-16 20:30:33 +0800 | |
| commit | 24286e1922b1686b72ab50ba4abc7c22fd257b7c (patch) | |
| tree | 884376055ecc173b8f412d06516f7f02cee2893f | |
| parent | 18842db3782ff1bbcdd3281f1efdaf0a8ca98e0c (diff) | |
| download | infini-24286e1922b1686b72ab50ba4abc7c22fd257b7c.tar.gz infini-24286e1922b1686b72ab50ba4abc7c22fd257b7c.zip | |
:sparkles: 更新业务基类声明 弃用子类声明方法
| -rw-r--r-- | src/infini/handler.py | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/src/infini/handler.py b/src/infini/handler.py index 06d5c5fa..650762c6 100644 --- a/src/infini/handler.py +++ b/src/infini/handler.py @@ -1,12 +1,12 @@ from abc import ABCMeta, abstractmethod +from .register import Handlers from .event import MatcherEvent -from .typing import Dict __all__ = ["Result", "Handler"] -class Result(metaclass=ABCMeta): - """规则包运行结果基类""" +class Result: + """规则包运行结果""" event: str status: bool @@ -18,30 +18,18 @@ class Result(metaclass=ABCMeta): self.kwargs = kwargs -class Handler: +class Handler(metaclass=ABCMeta): """规则包业务基类""" name: str priority: int = 0 - def __init_subclass__(cls) -> None: - handlers.regist(cls.name, cls()) + # def __init_subclass__(cls) -> None: + # handlers.regist(cls.name, cls()) @abstractmethod def process(self, event: MatcherEvent) -> Result: raise NotImplementedError -class Handlers: - """规则包业务集合""" - - _handlers: Dict[str, Handler] = {} - - def regist(self, name: str, handler: Handler) -> None: - self._handlers[name.lower()] = handler - - def match(self, name: str) -> Handler | None: - return self._handlers.get(name.lower()) - - handlers = Handlers() |
