diff options
| author | 2024-01-25 14:44:23 +0800 | |
|---|---|---|
| committer | 2024-01-25 14:44:23 +0800 | |
| commit | 82fa372d20cd4b0f0ab0f14a926cada2ad0844ef (patch) | |
| tree | 49dbb75241e9aa4567131cb434a127e7c0c96b6a | |
| parent | b86996fd354f0a229c4266c0e174cd297c27b7ee (diff) | |
| parent | 525369d2126960612ce230fb96c34d963a159f04 (diff) | |
| download | infini-82fa372d20cd4b0f0ab0f14a926cada2ad0844ef.tar.gz infini-82fa372d20cd4b0f0ab0f14a926cada2ad0844ef.zip | |
Merge pull request #51 from fu050409/master
♻️ refactor(infini): restore pdm project and work for infini version 2
| -rw-r--r-- | .cache/plugin/git-committers/page-authors.json | 1 | ||||
| -rw-r--r-- | pdm.lock | 4 | ||||
| -rw-r--r-- | pyproject.toml | 41 | ||||
| -rw-r--r-- | src/infini/__main__.py | 71 | ||||
| -rw-r--r-- | src/infini/const/__init__.py | 7 | ||||
| -rw-r--r-- | src/infini/const/templates.py | 40 | ||||
| -rw-r--r-- | src/infini/exceptions.py | 2 | ||||
| -rw-r--r-- | tests/TestRulePackage/event.py | 7 | ||||
| -rw-r--r-- | tests/TestRulePackage/handler.py | 16 | ||||
| -rw-r--r-- | tests/TestRulePackage/tests.py | 12 | ||||
| -rw-r--r-- | tests/__init__.py | 0 |
11 files changed, 19 insertions, 182 deletions
diff --git a/.cache/plugin/git-committers/page-authors.json b/.cache/plugin/git-committers/page-authors.json deleted file mode 100644 index 124927c0..00000000 --- a/.cache/plugin/git-committers/page-authors.json +++ /dev/null @@ -1 +0,0 @@ -{"cache_date": "2023-12-15", "page_authors": {"docs/index.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/API/index.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Core/index.md": {"last_commit_date": "2023-12-13", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368?v=4"}]}, "docs/RulePackage/Structure/attribute.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/Structure/class.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/Structure/method.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/Write/prepare.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/Write/python.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/Write/write.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/what-is-rule-package.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/what-is-standard.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/why-rule-package.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/Term/check/index.md": {"last_commit_date": "2023-07-31", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/Term/check/ability.md": {"last_commit_date": "2023-12-13", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368?v=4"}]}, "docs/Standard/Term/dice-count.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/dice-face.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/scenario.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/setting.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/default_dice/index.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/default_dice/dice-count.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/default_dice/dice-face.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/duration/index.md": {"last_commit_date": "2023-08-11", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/Term/duration/campaign.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/duration/module.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/duration/sene.md": {"last_commit_date": "2023-08-04", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/player_character/index.md": {"last_commit_date": "2023-08-11", "authors": [{"login": "baimianxiao", "name": "baimianxiao", "url": "https://github.com/baimianxiao", "avatar": "https://avatars.githubusercontent.com/u/67865300"}]}, "docs/Standard/Term/DefaultDice/index.md": {"last_commit_date": "2023-09-29", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/Term/DefaultDice/_counts.md": {"last_commit_date": "2023-09-29", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/Term/DefaultDice/_sides.md": {"last_commit_date": "2023-09-29", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Standard/Term/PlayerCard/index.md": {"last_commit_date": "2023-09-29", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/blog/index.md": {"last_commit_date": "2023-09-29", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/CLI/index.md": {"last_commit_date": "2023-12-13", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368?v=4"}]}, "docs/RulePackage/intro.md": {"last_commit_date": "2023-12-13", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368?v=4"}]}, "docs/RulePackage/getStart/attribute.md": {"last_commit_date": "2023-10-06", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/getStart/class.md": {"last_commit_date": "2023-10-06", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/getStart/method.md": {"last_commit_date": "2023-10-06", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/getStart/getDeeper/Module.md": {"last_commit_date": "2023-10-06", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/getStart/getDeeper/Package.md": {"last_commit_date": "2023-10-06", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/getStart/getDeeper/object.md": {"last_commit_date": "2023-10-06", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/skill/index.md": {"last_commit_date": "2023-10-07", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/RulePackage/skill/fstring.md": {"last_commit_date": "2023-10-07", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/blog/posts/rules-class-just-landed.md": {"last_commit_date": "2023-10-06", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Help/PythonSkill.md": {"last_commit_date": "2023-10-25", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Help/TermList.md": {"last_commit_date": "2023-10-25", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368"}]}, "docs/Help/emoji.md": {"last_commit_date": "2023-12-15", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368?v=4"}]}, "docs/src/templates/.icons/simple/LICENSE.md": {"last_commit_date": "2023-12-15", "authors": [{"login": "HsiangNianian", "name": "HsiangNianian", "url": "https://github.com/HsiangNianian", "avatar": "https://avatars.githubusercontent.com/u/44714368?v=4"}]}}}
\ No newline at end of file @@ -4,8 +4,8 @@ [metadata] groups = ["default", "docs"] strategy = ["cross_platform"] -lock_version = "4.4" -content_hash = "sha256:fddd8c2346f4b72340fa1d98f5412276cbca6fa9d0158230b417d5a54524804c" +lock_version = "4.4.1" +content_hash = "sha256:c680d27fc524015094eacac65dfd83248611848fd38ceece3bc1ea698a39d11f" [[package]] name = "annotated-types" diff --git a/pyproject.toml b/pyproject.toml index 61a1c65b..f4309312 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,33 +1,24 @@ [project] name = "infini" -version = "1.0.5" -description = "Infini 核心标准输入输出模块" -authors = [{ name = "简律纯", email = "i@jyunko.cn" }, { name = "苏向夜", email = "fu050409@163.com" }] -dependencies = ["pydantic", "multilogging"] -requires-python = ">=3.9" +version = "2.0.0-alpha.1" +description = "Infini 核心标准文本输入输出模块" +authors = [ + { name = "简律纯", email = "i@jyunko.cn" }, + { name = "苏向夜", email = "fu050409@163.com" }, +] +dependencies = [ + "pydantic", + "multilogging", + "rich>=13.7.0", +] +requires-python = ">=3.10" readme = "README.md" license = { text = "MIT" } -[tool.pdm.dev-dependencies] -docs = [ - "mkdocs>=1.5.3", - "mkdocs-material[imaging]>=9.5.2", - "mkdocs-blog-plugin>=0.25", - "mkdocs-git-revision-date-localized-plugin>=1.2.1", - "mkdocs-git-authors-plugin>=0.7.2", - "mkdocs-material-extensions>=1.3.1", - "neoteroi-mkdocs>=1.0.4", - "pillow>=9.5.0", - "cairosvg>=2.7.1", - "mkdocs-git-committers-plugin-2>=2.2.2", - "lxml>=4.9.3", - "mkdocs-minify-plugin>=0.7.2", - "mkdocs-rss-plugin>=1.9.0", - "mkdocs-redirects>=1.2.1", - "mike>=2.0.0", - "mkdocstrings>=0.24.0", -] - [build-system] requires = ["pdm-backend"] build-backend = "pdm.backend" + + +[tool.pdm] +distribution = true 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。 """ diff --git a/tests/TestRulePackage/event.py b/tests/TestRulePackage/event.py deleted file mode 100644 index 6b915792..00000000 --- a/tests/TestRulePackage/event.py +++ /dev/null @@ -1,7 +0,0 @@ -from infini import MessageEvent - - -class MyEvent(MessageEvent): - """自定义消息事件""" - name = "example_event" - output = "捕获到输入: {plain_text}" diff --git a/tests/TestRulePackage/handler.py b/tests/TestRulePackage/handler.py deleted file mode 100644 index b86568aa..00000000 --- a/tests/TestRulePackage/handler.py +++ /dev/null @@ -1,16 +0,0 @@ -from infini import Handler, MessageEvent -from infini.matcher import MatcherEvent -from infini.event import InfiniEvent -from .event import MyEvent - - -class MyHandler(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) - diff --git a/tests/TestRulePackage/tests.py b/tests/TestRulePackage/tests.py deleted file mode 100644 index af1726a0..00000000 --- a/tests/TestRulePackage/tests.py +++ /dev/null @@ -1,12 +0,0 @@ -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/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/__init__.py |
