summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author苏向夜 <46275354+fu050409@users.noreply.github.com>2024-01-25 14:44:23 +0800
committerGitHub <noreply@github.com>2024-01-25 14:44:23 +0800
commit82fa372d20cd4b0f0ab0f14a926cada2ad0844ef (patch)
tree49dbb75241e9aa4567131cb434a127e7c0c96b6a
parentb86996fd354f0a229c4266c0e174cd297c27b7ee (diff)
parent525369d2126960612ce230fb96c34d963a159f04 (diff)
downloadinfini-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.json1
-rw-r--r--pdm.lock4
-rw-r--r--pyproject.toml41
-rw-r--r--src/infini/__main__.py71
-rw-r--r--src/infini/const/__init__.py7
-rw-r--r--src/infini/const/templates.py40
-rw-r--r--src/infini/exceptions.py2
-rw-r--r--tests/TestRulePackage/event.py7
-rw-r--r--tests/TestRulePackage/handler.py16
-rw-r--r--tests/TestRulePackage/tests.py12
-rw-r--r--tests/__init__.py0
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
diff --git a/pdm.lock b/pdm.lock
index 45801e54..0e71acce 100644
--- a/pdm.lock
+++ b/pdm.lock
@@ -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