diff options
| author | 2023-12-15 09:11:47 +0800 | |
|---|---|---|
| committer | 2023-12-15 09:11:47 +0800 | |
| commit | be8de118db913711eb72ae5187d26e54a0055727 (patch) | |
| tree | 96cd6c012dafa3f4015e54edef90df5eaaab0ddb /src/hydrorollcore/event.py | |
| parent | 9b2d27ba1d91a0d5531bc9c0d52c3887a2dfb2aa (diff) | |
| download | infini-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.py | 43 |
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() |
