From 3c3e121bc845573a2d2408c0db6be6f841fd8efc Mon Sep 17 00:00:00 2001 From: 苏向夜 Date: Thu, 25 Jan 2024 14:42:18 +0800 Subject: :recycle: refactor(infini): restore pdm project and work for infini version 2 --- src/infini/__main__.py | 71 ------------------------------------------- src/infini/const/__init__.py | 7 ----- src/infini/const/templates.py | 40 ------------------------ src/infini/exceptions.py | 2 +- 4 files changed, 1 insertion(+), 119 deletions(-) delete mode 100644 src/infini/__main__.py delete mode 100644 src/infini/const/__init__.py delete mode 100644 src/infini/const/templates.py (limited to 'src') diff --git a/src/infini/__main__.py b/src/infini/__main__.py deleted file mode 100644 index 9a8cd58c..00000000 --- a/src/infini/__main__.py +++ /dev/null @@ -1,71 +0,0 @@ -"""__main__ - -这是 infini 的主要入口点。它处理命令行参数,并根据这些参数执行相应的操作。 -例如,它可以创建新的规则包,或者测试现有的规则包。 -如果你想了解更多关于如何使用 infini 的信息,你可以运行 `infini --help`。 -""" - -from pathlib import Path -from .utils.cli import parse_args -from .const import templates -from .logging import logger -from .register import register - -import os -import importlib -import sys - - -def main(): - args = parse_args() - - if args.gui: - logger.critical("选项[--gui]尚未被支持!") - sys.exit(1) - - path = ( - Path(args.path).resolve() - if hasattr(args, "path") - else Path(os.getcwd()).resolve() - ) - - if args.operate == "new": - if path.exists() and not args.force: - logger.error("指定的文件夹已经存在!") - sys.exit(1) - - path.mkdir(parents=True, exist_ok=True) - (path / "handler.py").write_text(templates.HANDLER, encoding="utf-8") - (path / "event.py").write_text(templates.EVENT, encoding="utf-8") - (path / "tests.py").write_text(templates.TEST, encoding="utf-8") - - logger.success("Infini 规则包模板已创建!") - - if args.operate == "test": - exceptions = [] - - logger.info(f"开始测试规则包: {path.name}...") - logger.info("初始化规则包中...") - - try: - register.register(path) - except Exception as error: - if args.verbose: - logger.exception(error) - logger.critical(f"初始化规则包时出现异常: {error}") - exceptions.append(error) - - try: - errors = importlib.import_module(f"{path.name}.tests").test() - exceptions.extend(errors) - except Exception as error: - if args.verbose: - logger.exception(error) - logger.critical(f"测试规则包时出现异常: {error}") - exceptions.append(error) - - logger.info(f"测试规则包 {path.name} 出现 {len(exceptions)} 个异常, 测试完成.") - - -if __name__ == "__main__": - main() diff --git a/src/infini/const/__init__.py b/src/infini/const/__init__.py deleted file mode 100644 index 8ad332fc..00000000 --- a/src/infini/const/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -"""Infini 常量模块 - -templates - HANDLE - EVENT - TEST -""" diff --git a/src/infini/const/templates.py b/src/infini/const/templates.py deleted file mode 100644 index d0be9e30..00000000 --- a/src/infini/const/templates.py +++ /dev/null @@ -1,40 +0,0 @@ -HANDLER = """from infini import Handler, MessageEvent -from infini.matcher import MatcherEvent -from infini.event import InfiniEvent -from .event import MyEvent - - -class MyHandler(Handler): - \"\"\"自设业务函数\"\"\" - - name: str = "example_handler" - priority: int = 0 # 业务函数权重 - - def process(self, event: MatcherEvent) -> InfiniEvent: - \"\"\"声明规则包检定方式\"\"\" - plain_text = event.get_plain_text() - return MyEvent("rule.example_event", plain_text=plain_text) - -""" - -EVENT = """from infini import MessageEvent - - -class MyEvent(MessageEvent): - \"\"\"自定义消息事件\"\"\" - name = "example_event" - output = "捕获到输入: {plain_text}" -""" - -TEST = """from infini.matcher import matcher, MatcherEvent - - -def test(): - event = MatcherEvent("rule.example_handler", string="测试") - try: - result = matcher.run(event) - assert result == "捕获到输入: 测试" - except Exception as error: - return error - return [] -""" diff --git a/src/infini/exceptions.py b/src/infini/exceptions.py index 61c93f63..2038efcd 100644 --- a/src/infini/exceptions.py +++ b/src/infini/exceptions.py @@ -1,7 +1,7 @@ """Infini 异常处理模块 此模块定义了 Infini 项目中所有的自定义异常类。 -规则包作者后续实现的每个异常类都应该继承自 RulePackageException。 +规则包作者后续实现的每个异常类都应该继承自 InfiniException。 """ -- cgit v1.2.3-70-g09d2