aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/hydrorollcore/event.py
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2023-12-15 09:11:47 +0800
committer简律纯 <i@jyunko.cn>2023-12-15 09:11:47 +0800
commitbe8de118db913711eb72ae5187d26e54a0055727 (patch)
tree96cd6c012dafa3f4015e54edef90df5eaaab0ddb /src/hydrorollcore/event.py
parent9b2d27ba1d91a0d5531bc9c0d52c3887a2dfb2aa (diff)
downloadinfini-be8de118db913711eb72ae5187d26e54a0055727.tar.gz
infini-be8de118db913711eb72ae5187d26e54a0055727.zip
refactor(docs): optmst `docs` dir & `deps`
Diffstat (limited to 'src/hydrorollcore/event.py')
-rw-r--r--src/hydrorollcore/event.py43
1 files changed, 0 insertions, 43 deletions
diff --git a/src/hydrorollcore/event.py b/src/hydrorollcore/event.py
deleted file mode 100644
index 9ce34bd9..00000000
--- a/src/hydrorollcore/event.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from .typing import Dict
-from .logging import logger
-
-import re
-
-__all__ = ["Event", "events"]
-
-
-class Events:
- """事件集合"""
-
- _events: Dict[str, str] = {}
-
- def regist(self, name: str, output: str) -> None:
- self._events[name.lower()] = output
-
- def process(self, name: str, **kwargs) -> str:
- if string := self._events.get(name.lower()):
- return self._format(string, **kwargs)
- logger.warning(f"事件[{name.lower()}]不存在,将返回空字符串!")
- return ""
-
- def _format(self, string: str, **kwargs):
- pattern = r"{(.*?)}"
- values = re.findall(pattern, string)
- for value in values:
- kwarg = kwargs.get(value)
- value = kwarg if kwarg else ""
- string = re.sub(pattern, value, string)
- return string
-
-
-class Event:
- """事件基类"""
-
- name: str
- output: str
-
- def __init_subclass__(cls) -> None:
- events.regist(cls.name, cls.output)
-
-
-events = Events()