mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2026-05-09 18:27:56 +08:00
✨ 实现 Post.content 相关扩展协议 (#553)
* ✨ `post` 新增 `get_content()` 方法 * 🚨 make linter happy * 💄 auto fix by pre-commit hooks * 🐛 fix: 调整函数使用 * 💄 auto fix by pre-commit hooks * ✨ 转用函数处理文本 * 💄 auto fix by pre-commit hooks * 🔨 使用`Dict`存储`content_handlers` * 💄 auto fix by pre-commit hooks * 🎨 fix * :arts: 简化函数使用 * 🐛 移除`Theme`的过时参数 * 🗑️ 复用 `self.plain_content` * 💄 auto fix by pre-commit hooks * ✨ 注册式装饰器写法 * 💄 auto fix by pre-commit hooks * 🐛 fix * 💄 auto fix by pre-commit hooks * :feat: 通用纯文本处理函数 * 💄 auto fix by pre-commit hooks * :downgrade: 复用`==`处理标题 * 🎨 简化(?)写法 * ✅ 测试修复 * ♻️ via ContentSupport extensions * 🐛 fix test * 💄 auto fix by pre-commit hooks * 🐛 for clean text * 🐛 fix * 💄 auto fix by pre-commit hooks * fix: for xml * 💄 auto fix by pre-commit hooks * chore: art * 💄 auto fix by pre-commit hooks --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from time import time
|
||||
from typing import Any
|
||||
from inspect import cleandoc
|
||||
|
||||
import pytest
|
||||
from nonebug.app import App
|
||||
@@ -48,7 +49,7 @@ def mock_platform(app: App):
|
||||
async def parse(self, raw_post: "RawPost") -> "Post":
|
||||
return Post(
|
||||
self,
|
||||
raw_post["text"],
|
||||
content=raw_post["text"],
|
||||
url="http://t.tt/" + str(self.get_id(raw_post)),
|
||||
nickname="MockNick",
|
||||
)
|
||||
@@ -67,12 +68,15 @@ def mock_platform(app: App):
|
||||
async def test_display(mock_platform):
|
||||
from nonebot_bison.post import Post
|
||||
|
||||
post = Post(
|
||||
mock_platform,
|
||||
post1_content = cleandoc(
|
||||
"Rebum delenit iusto augue in rebum sanctus diam stet clita voluptua amet tempor sea in.\n"
|
||||
"Vel ullamcorper dolore clita eos amet tempor velit amet in.\n"
|
||||
"Vero hendrerit vero diam et lorem blandit ex diam ex amet.\n"
|
||||
"Voluptua et sed diam erat et diam lorem lorem no euismod sadipscing rebum feugiat est elitr autem.\n",
|
||||
)
|
||||
post1 = Post(
|
||||
mock_platform,
|
||||
content=post1_content,
|
||||
title="Ipsum consectetuer voluptua eirmod aliquyam dolore eu volutpat ipsum ipsum eirmod nulla.",
|
||||
images=[
|
||||
b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x06\x00\x00\x00\x1f\x15\xc4\x89",
|
||||
@@ -87,8 +91,8 @@ async def test_display(mock_platform):
|
||||
description="Labore amet ut invidunt dolor consectetuer ipsum sadipscing sed minim diam rebum justo tincidunt.",
|
||||
)
|
||||
assert (
|
||||
str(post)
|
||||
== rf"""## Post: {id(post):X} ##
|
||||
str(post1)
|
||||
== rf"""## Post: {id(post1):X} ##
|
||||
|
||||
Rebum delenit iusto augue in rebum sanctus diam stet clita voluptua amet tempor sea in.
|
||||
Vel ullamcorper dolore clita eos amet tempor velit amet in.
|
||||
@@ -106,12 +110,16 @@ Vero hendrerit vero diam et lorem blandit ex diam ex...
|
||||
- description: 'Labore amet ut invidunt dolor consectetuer ipsum sadipscing sed minim diam rebum justo tincidunt.'
|
||||
"""
|
||||
) # noqa: E501
|
||||
post2 = Post(
|
||||
mock_platform,
|
||||
|
||||
post2_content = cleandoc(
|
||||
"Rebum delenit iusto augue in rebum sanctus diam stet clita voluptua amet tempor sea in.\n"
|
||||
"Vel ullamcorper dolore clita eos amet tempor velit amet in.\n"
|
||||
"Vero hendrerit vero diam et lorem blandit ex diam ex amet.\n"
|
||||
"Voluptua et sed diam erat et diam lorem lorem no euismod sadipscing rebum feugiat est elitr autem.\n",
|
||||
)
|
||||
post2 = Post(
|
||||
mock_platform,
|
||||
content=post2_content,
|
||||
title="Ipsum consectetuer voluptua eirmod aliquyam dolore eu volutpat ipsum ipsum eirmod nulla.",
|
||||
images=[
|
||||
b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x08\x06\x00\x00\x00\x1f\x15\xc4\x89",
|
||||
@@ -124,7 +132,7 @@ Vero hendrerit vero diam et lorem blandit ex diam ex...
|
||||
),
|
||||
nickname="Mock2",
|
||||
description="Labore amet ut invidunt dolor consectetuer ipsum sadipscing sed minim diam rebum justo tincidunt.",
|
||||
repost=post,
|
||||
repost=post1,
|
||||
)
|
||||
assert (
|
||||
str(post2)
|
||||
@@ -146,7 +154,7 @@ Vero hendrerit vero diam et lorem blandit ex diam ex...
|
||||
- description: 'Labore amet ut invidunt dolor consectetuer ipsum sadipscing sed minim diam rebum justo tincidunt.'
|
||||
|
||||
转发:
|
||||
## Post: {id(post):X} ##
|
||||
## Post: {id(post1):X} ##
|
||||
|
||||
Rebum delenit iusto augue in rebum sanctus diam stet clita voluptua amet tempor sea in.
|
||||
Vel ullamcorper dolore clita eos amet tempor velit amet in.
|
||||
|
||||
Reference in New Issue
Block a user