diff options
| author | 2024-03-11 09:40:52 +0800 | |
|---|---|---|
| committer | 2024-03-11 09:40:52 +0800 | |
| commit | 67cf02ba9bf39116126ef8360cedff5410a20694 (patch) | |
| tree | 9194042a727bd7535f036283152afe450876b133 | |
| parent | 9425a632d234229ee87178c69f572384e9713fae (diff) | |
| download | infini-67cf02ba9bf39116126ef8360cedff5410a20694.tar.gz infini-67cf02ba9bf39116126ef8360cedff5410a20694.zip | |
chore(tests): regist -> register
| -rw-r--r-- | docs/v1.0/README.md | 170 | ||||
| -rw-r--r-- | pdm.lock | 46 | ||||
| -rw-r--r-- | pyproject.toml | 5 | ||||
| -rw-r--r-- | tests/examples/ndice/src/ndice.py | 12 | ||||
| -rw-r--r-- | tests/examples/ndice/tests.py | 2 |
5 files changed, 53 insertions, 182 deletions
diff --git a/docs/v1.0/README.md b/docs/v1.0/README.md deleted file mode 100644 index fe02a8ae..00000000 --- a/docs/v1.0/README.md +++ /dev/null @@ -1,170 +0,0 @@ -<h1 align="right">infini'水系核心</h1> - -<p align="right"> - <a aria-label="Join the community on GitHub" href="https://github.com/HydroRoll-Team/hydroroll/discussions" target="blank"> - <img alt="" src="https://img.shields.io/badge/Join%20the%20community-blueviolet.svg?logo=data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8CAgL/CgoK/woKCv8GBgb/BgYG/woKCv8KCgr/AgIC/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/0ZGRv9MTEz/JiYm/ygoKP9MTEz/RkZG/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9ycnL/Li4u/1xcXP9eXl7/Li4u/3Jycv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP88PDz/cnJy/05OTv9OTk7/UFBQ/05OTv9wcHD/Pj4+/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Kioq/3Jycv9cXFz/TExM/05OTv9aWlr/cHBw/yoqKv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/Pj4+/zg4OP+AgID/Pj4+/2ZmZv9oaGj/PDw8/4CAgP86Ojr/Pj4+/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ywsLP9iYmL/enp6/zIyMv90dHT/dHR0/zAwMP98fHz/YmJi/ywsLP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9SUlL/PDw8/3Jycv9CQkL/UlJS/1RUVP9CQkL/cnJy/zw8PP9SUlL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/VFRU/yIiIv9aWlr/PDw8/zw8PP8+Pj7/PDw8/1hYWP8iIiL/VFRU/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/zQ0NP9CQkL/ZmZm/yIiIv9WVlb/WFhY/yIiIv9mZmb/QkJC/zY2Nv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP9QUFD/BgYG/0RERP9KSkr/JCQk/yYmJv9KSkr/RERE/wgICP9QUFD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/CgoK/wICAv8KCgr/CgoK/wYGBv8GBgb/CgoK/woKCv8CAgL/CgoK/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==&labelColor=000000&logoWidth=20&logoColor=white"> - </a> - <a href="https://pypi.org/project/infini"> - <img alt="pypi" src="https://img.shields.io/pypi/v/infini?labelColor=000000"> - </a> - <a href="https://github.com/HydroRoll-Team/infini/blob/master/LICENSE"> - <img alt="hydro" src="https://img.shields.io/pypi/l/infini?labelColor=000000&color="> - </a> - -[](https://github.com/HydroRoll-Team/infini/actions/workflows/python-publish.yml) -[](https://github.com/HydroRoll-Team/infini/actions/workflows/codeql.yml) -[](https://app.netlify.com/sites/grps-v1/deploys) - -</p> - -## 🎁 `Getting` <img align="right" alt="hydro" src="https://mirror.ghproxy.com/https://raw.githubusercontent.com/HydroRoll-Team/HydroRoll/main/site/src/assets/image/logo.png" height="120"> - -> [!IMPORTANT] -> -> 强烈推荐使用 `pdm` 等能创建虚拟环境的包管理工具管理你的 `HydroRollBot` 项目。 - -1. 安装库 - - 在终端中执行: - - ```bash - git clone https://github.com/HydroRoll-Team/infini.git - cd infini - pdm install - ``` - - 你可以使用`pip`进行安装: - - ```bash - pip install infini - ``` - -2. 创建规则包实例 - - 确保你的`infini`正确安装后,打开终端并执行: - - ``` shell - python -m infini new MyRule - ``` - - 你可以在生成的 `MyRule\rule.py` 创建一个或者多个继承 `Handler` 基类的实例, 通过编写合适的相关方法与类注册规则包实现规则的自定义。 - - ``` python - from infini import Handler, Result - - __handlers__ = ["HandlerRule"] - - - class HandlerRule(Handler): - """自设业务函数""" - - name = "MyRule" # 规则包名 - priority: int = 0 # 规则包权重 - - def process(self, **kwargs) -> Result: - """声明规则包检定方式""" - return Result("event1", True) - ``` - - `process`函数应当返回一个`Result`对象,它应当包含一个消息事件名(例如示例中的`event1`),该消息事件名应当在 `MyRule\event.py` 中被注册。消息事件的动态内容通过`{name}`的方式声明并通过`name="内容"`的方式实现。 - -3. 创建你的测试文件 - - 在 `MyRule\tests.py` 中的 `test` 函数中给出测试函数,并返回一个 `list`,应当包含所有异常内容。 - -4. 测试你的规则包 - - 执行指令: - - ```bash - python -m infini test MyRule - ``` - -## 🌟 `contribute` - -在此之前,请先克隆本仓库。 - -```shell -git clone https://github.com/HydroRoll-Team/infini.git -``` - -### 贡献手册 - -本段内容主要针对想要为[通用规则包标准(GRPS)]的`docs 文档` 或 `Python 实现` 作贡献的社区朋友,若您想要推广 `GRPS-1` 标准的其他语言实现,请提交相关 `PR`,届时修改下方的[资源列表]。 - -您需要确保自己的硬件环境有 `Python` 解释器,您需要全局安装 `pdm` 依赖以实现局部开发 `infini` 文档或源码的目的。 - -```shell -pip3 install pdm -``` - -接着在 `infini` 仓库主分支的根目录下激活 `pdm` 虚拟环境。 - -```shell -cd infini -pdm venv list -pdm venv activate in-project -``` - -**一、 在本地部署文档** - -在 `infini` 仓库根目录下安装 `docs` 组的依赖。 - -```shell -pdm install -dG docs -``` - -依赖安装完毕后,可进行版本控制或直接进行文档贡献。 - -> 版本控制 | `mike` 的其他指令具体可查看 [jimporter/mike](https://github.com/jimporter/mike)。 - -```shell -pdm run mike serve -``` - -这样便可以查看不同版本的文档了。 - -> 文档贡献 | 这样贡献出来的文档永远是 `dev` 分支或 `latests` 分支的,这也是最为普遍的文档贡献方式,`mkdocs` 具体的配置教程可查看 [squidfunk/mkdocs]()。 - -```shell -pdm run mkdocs serve -``` - -接着就可以在本地 `8000` 端口查看文档了,同时由于 `mkdocs` 是热加载的,因此您可以直接在 `serve` 指令预览最新文档后,修改对应文档的内容,保存后仅需等待文档内容变化即可。 - -> [!WARNING] -> -> 注意,强烈建议学习 [mkdocs-materials](https://squidfunk.github.io/mkdocs-material/) 的文档语法后进行文档内容的贡献 `PR`,同时还请遵循水系核心的[文档规范]。 - -### 贡献源码 - -在贡献源码之前,请先知悉水系有一套渐进式开发文档,水系核心 `infini` 的开发是极其内核的,但是,此 `repo` 所代表的仅仅只是 `GRPS-1` 的一个 `Python` 实现,因此如果已经相当了解水系架构和通用规则包标准,那么可以遵循以下说明进行适当的开发。 - -水系核心主要由三部分构成:`Rule API`、`Rule Wiki`、`Rule Event-Handler`。 - -1. `Rule API` - -该部分由网络库编写,为其他组件提供一个接入或把 `infini` 接入的可能。 - -3. `Rule Wiki` - -该部分主要用于读取 `__doc__` 并格式化为 `mkdocs` 站点以及成品规则书 `pdf`。 - -4. `Rule Event-Handler` - -该部分用于实际与 `HydroRoll` 插件通信。 - -## 🎍 `resources` - -<https://grps.hydroroll.team> _(recommend)_ -<https://grps-v1.netlify.app> -~~<https://hydroroll-team.github.io/infini/>~~ - -## 📄 `License` - -[MIT](https://github.com/HydroRoll-Team/infini/blob/master/LICENSE) © 2023-PRESENT [简律纯](https://github.com/HsiangNianian) - - -[通用规则包标准(GRPS)]: https://grps.hydroroll.team/dev/standard/what-is-rule-package/ -[资源列表]: https://github.com/HydroRoll-Team/infini?tab=readme-ov-file#-resources -[文档规范]: https://grps.hydroroll.team/dev/contribute/
\ No newline at end of file @@ -2,10 +2,11 @@ # It is not intended for manual editing. [metadata] -groups = ["default", "dev"] -strategy = ["cross_platform"] -lock_version = "4.4.1" -content_hash = "sha256:7e6e33bd0b22b96f1e3955794a0d1d6f9a67ee102c40212a0425973339d1557c" +groups = ["default", "dev", "tests"] +cross_platform = true +static_urls = false +lock_version = "4.3" +content_hash = "sha256:1a598c563da1d806f71bb16c846be001c66d8380583ac459ef55b2c493e9ae71" [[package]] name = "certifi" @@ -155,6 +156,20 @@ files = [ ] [[package]] +name = "loguru" +version = "0.7.2" +requires_python = ">=3.5" +summary = "Python logging made (stupidly) simple" +dependencies = [ + "colorama>=0.3.4; sys_platform == \"win32\"", + "win32-setctime>=1.0.0; sys_platform == \"win32\"", +] +files = [ + {file = "loguru-0.7.2-py3-none-any.whl", hash = "sha256:003d71e3d3ed35f0f8984898359d65b79e5b21943f78af86aa5491210429b8eb"}, + {file = "loguru-0.7.2.tar.gz", hash = "sha256:e671a53522515f34fd406340ee968cb9ecafbc4b36c679da03c18fd8d0bd51ac"}, +] + +[[package]] name = "markdown-it-py" version = "3.0.0" requires_python = ">=3.8" @@ -217,6 +232,19 @@ files = [ ] [[package]] +name = "multilogging" +version = "1.0.2" +requires_python = ">=3" +summary = "分布式 loguru" +dependencies = [ + "loguru", +] +files = [ + {file = "multilogging-1.0.2-py3-none-any.whl", hash = "sha256:46e86043f797944c012db3d177970dbdc0783b51a660953ec87d456ccdc1f568"}, + {file = "multilogging-1.0.2.tar.gz", hash = "sha256:33ff509ec690de83670740c33f93f655fb406646efa928a02b998e48ce9dacd7"}, +] + +[[package]] name = "packaging" version = "23.2" requires_python = ">=3.7" @@ -348,3 +376,13 @@ files = [ {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, ] + +[[package]] +name = "win32-setctime" +version = "1.1.0" +requires_python = ">=3.5" +summary = "A small Python utility to set file creation time on Windows" +files = [ + {file = "win32_setctime-1.1.0-py3-none-any.whl", hash = "sha256:231db239e959c2fe7eb1d7dc129f11172354f98361c4fa2d6d2d7e278baa8aad"}, + {file = "win32_setctime-1.1.0.tar.gz", hash = "sha256:15cf5750465118d6929ae4de4eb46e8edae9a5634350c01ba582df868e932cb2"}, +] diff --git a/pyproject.toml b/pyproject.toml index df59c56c..cf53ff0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ license = { text = "MIT" } Homepage = "https://grps.hydroroll.team" Documentation = "https://grps.hydroroll.team" Repository = "https://github.com/HydroRoll-Team/infini" -Changelog = "https://grps.hydroroll.team/zh_CN/latest/changelog.html" +Changelog = "https://infini.hydroroll.team/zh_CN/latest/changelog.html" [build-system] requires = ["pdm-backend"] @@ -32,3 +32,6 @@ dev = [ "pytest>=7.4.4", "ipdm>=0.1.4", ] +tests = [ + "multilogging>=1.0.2", +] diff --git a/tests/examples/ndice/src/ndice.py b/tests/examples/ndice/src/ndice.py index a0b88f5e..082de9f8 100644 --- a/tests/examples/ndice/src/ndice.py +++ b/tests/examples/ndice/src/ndice.py @@ -10,7 +10,7 @@ from .dicer import Dicer import re register = Register() -register.regist_textevent( +register.register_textevent( "ndice.roll", "[{{ username }}]掷骰: " "{% if descs|length == 1 %}" @@ -23,16 +23,16 @@ register.regist_textevent( "{% endfor %}" "{% endif %}", ) -register.regist_textevent( +register.register_textevent( "ndice.error.bad_roll_string", "[{{ username }}]掷骰时出现异常, 疑似掷骰表达式错误." ) -register.regist_textevent("ndice.error.too_much_round", "[{{ username }}]给入的掷骰轮数超出预期.") -register.regist_textevent( +register.register_textevent("ndice.error.too_much_round", "[{{ username }}]给入的掷骰轮数超出预期.") +register.register_textevent( "ndice.error.unknown", "未知错误: {{ error }}, 可能是掷骰语法异常.\nBUG提交: https://gitee.com/unvisitor/issues", ) -register.regist_textevent("ndice.error.bad_round", "多轮检定的轮数应当是整型数.") -register.regist_textevent("ndice.error.too_much_round", "多轮检定的轮数超出预期.") +register.register_textevent("ndice.error.bad_round", "多轮检定的轮数应当是整型数.") +register.register_textevent("ndice.error.too_much_round", "多轮检定的轮数超出预期.") def translate_punctuation(string: str) -> str: diff --git a/tests/examples/ndice/tests.py b/tests/examples/ndice/tests.py index c2e9b9d3..2a56409b 100644 --- a/tests/examples/ndice/tests.py +++ b/tests/examples/ndice/tests.py @@ -13,5 +13,5 @@ loader.load("ndice") loader.close() core = loader.into_core() -for output in core.input(Input(".r20#d6")): +for output in core.input(Input(".r3d6", {'nickname':'简律纯'})): print(output) |
