aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author苏向夜 <fu050409@163.com>2023-12-16 20:30:33 +0800
committer苏向夜 <fu050409@163.com>2023-12-16 20:30:33 +0800
commit24286e1922b1686b72ab50ba4abc7c22fd257b7c (patch)
tree884376055ecc173b8f412d06516f7f02cee2893f
parent18842db3782ff1bbcdd3281f1efdaf0a8ca98e0c (diff)
downloadinfini-24286e1922b1686b72ab50ba4abc7c22fd257b7c.tar.gz
infini-24286e1922b1686b72ab50ba4abc7c22fd257b7c.zip
:sparkles: 更新业务基类声明 弃用子类声明方法
-rw-r--r--src/infini/handler.py24
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()