aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2024-03-11 09:40:52 +0800
committer简律纯 <i@jyunko.cn>2024-03-11 09:40:52 +0800
commit67cf02ba9bf39116126ef8360cedff5410a20694 (patch)
tree9194042a727bd7535f036283152afe450876b133
parent9425a632d234229ee87178c69f572384e9713fae (diff)
downloadinfini-67cf02ba9bf39116126ef8360cedff5410a20694.tar.gz
infini-67cf02ba9bf39116126ef8360cedff5410a20694.zip
chore(tests): regist -> register
-rw-r--r--docs/v1.0/README.md170
-rw-r--r--pdm.lock46
-rw-r--r--pyproject.toml5
-rw-r--r--tests/examples/ndice/src/ndice.py12
-rw-r--r--tests/examples/ndice/tests.py2
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>
-
-[![.github/workflows/python-publish.yml](https://github.com/HydroRoll-Team/infini/actions/workflows/python-publish.yml/badge.svg)](https://github.com/HydroRoll-Team/infini/actions/workflows/python-publish.yml)
-[![CodeQL](https://github.com/HydroRoll-Team/infini/actions/workflows/codeql.yml/badge.svg)](https://github.com/HydroRoll-Team/infini/actions/workflows/codeql.yml)
-[![Netlify Status](https://api.netlify.com/api/v1/badges/ecbe4af3-223f-4fa4-a182-a37a776fd05b/deploy-status)](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
diff --git a/pdm.lock b/pdm.lock
index a3b76616..2141530a 100644
--- a/pdm.lock
+++ b/pdm.lock
@@ -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)