diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 051b152..96b3f95 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -7,7 +7,7 @@ ci:
autoupdate_commit_msg: ":arrow_up: auto update by pre-commit hooks"
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.5.6
+ rev: v0.6.0
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
diff --git a/nonebot_bison/config/subs_io/nbesf_model/v1.py b/nonebot_bison/config/subs_io/nbesf_model/v1.py
index 324edf3..717deba 100644
--- a/nonebot_bison/config/subs_io/nbesf_model/v1.py
+++ b/nonebot_bison/config/subs_io/nbesf_model/v1.py
@@ -79,7 +79,7 @@ class SubGroup(
"""
version: int = NBESF_VERSION
- groups: list[SubPack]
+ groups: list[SubPack] = []
# ======================= #
diff --git a/nonebot_bison/config/subs_io/nbesf_model/v2.py b/nonebot_bison/config/subs_io/nbesf_model/v2.py
index 7b2a188..714704f 100644
--- a/nonebot_bison/config/subs_io/nbesf_model/v2.py
+++ b/nonebot_bison/config/subs_io/nbesf_model/v2.py
@@ -64,7 +64,7 @@ class SubGroup(NBESFBase):
"""
version: int = NBESF_VERSION
- groups: list[SubPack]
+ groups: list[SubPack] = []
# ======================= #
diff --git a/nonebot_bison/platform/weibo.py b/nonebot_bison/platform/weibo.py
index 1c4876d..7dfca5b 100644
--- a/nonebot_bison/platform/weibo.py
+++ b/nonebot_bison/platform/weibo.py
@@ -5,7 +5,7 @@ from datetime import datetime
from urllib.parse import unquote
from yarl import URL
-from lxml import etree
+from lxml.etree import HTML
from httpx import AsyncClient
from nonebot.log import logger
from bs4 import BeautifulSoup as bs
@@ -131,7 +131,7 @@ class Weibo(NewMessage):
def _get_text(self, raw_text: str) -> str:
text = raw_text.replace("
", "\n").replace("
", "\n")
- selector = etree.HTML(text, parser=None)
+ selector = HTML(text, parser=None)
if selector is None:
return text
url_elems = selector.xpath("//a[@href]/span[@class='surl-text']")
diff --git a/nonebot_bison/script/cli.py b/nonebot_bison/script/cli.py
index 291c102..6240461 100644
--- a/nonebot_bison/script/cli.py
+++ b/nonebot_bison/script/cli.py
@@ -19,6 +19,7 @@ try:
import anyio
import click
+ from anyio import to_thread, from_thread
except ImportError as e: # pragma: no cover
raise ImportError("请使用 `pip install nonebot-bison[cli]` 安装所需依赖") from e
@@ -39,7 +40,7 @@ R = TypeVar("R")
def run_sync(func: Callable[P, R]) -> Callable[P, Coroutine[Any, Any, R]]:
@wraps(func)
async def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
- return await anyio.to_thread.run_sync(partial(func, *args, **kwargs))
+ return await to_thread.run_sync(partial(func, *args, **kwargs))
return wrapper
@@ -47,7 +48,7 @@ def run_sync(func: Callable[P, R]) -> Callable[P, Coroutine[Any, Any, R]]:
def run_async(func: Callable[P, Coroutine[Any, Any, R]]) -> Callable[P, R]:
@wraps(func)
def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
- return anyio.from_thread.run(partial(func, *args, **kwargs))
+ return from_thread.run(partial(func, *args, **kwargs))
return wrapper
diff --git a/nonebot_bison/sub_manager/__init__.py b/nonebot_bison/sub_manager/__init__.py
index 9fea02b..119a0e9 100644
--- a/nonebot_bison/sub_manager/__init__.py
+++ b/nonebot_bison/sub_manager/__init__.py
@@ -68,9 +68,6 @@ async def do_choose_group_number(state: T_State, event: PrivateMessageEvent, gro
idx = int(group_idx)
if idx not in group_number_idx.keys():
await group_manage_matcher.reject("请输入正确序号")
- state["group_idx"] = idx
- group_number_idx: dict[int, int] = state["group_number_idx"]
- idx: int = state["group_idx"]
group_id = group_number_idx[idx]
state["target_user_info"] = TargetQQGroup(group_id=group_id)
diff --git a/poetry.lock b/poetry.lock
index 9f3bf1e..9396e88 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -4170,29 +4170,29 @@ reference = "offical-source"
[[package]]
name = "ruff"
-version = "0.5.2"
+version = "0.6.0"
description = "An extremely fast Python linter and code formatter, written in Rust."
optional = false
python-versions = ">=3.7"
files = [
- {file = "ruff-0.5.2-py3-none-linux_armv6l.whl", hash = "sha256:7bab8345df60f9368d5f4594bfb8b71157496b44c30ff035d1d01972e764d3be"},
- {file = "ruff-0.5.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:1aa7acad382ada0189dbe76095cf0a36cd0036779607c397ffdea16517f535b1"},
- {file = "ruff-0.5.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:aec618d5a0cdba5592c60c2dee7d9c865180627f1a4a691257dea14ac1aa264d"},
- {file = "ruff-0.5.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0b62adc5ce81780ff04077e88bac0986363e4a3260ad3ef11ae9c14aa0e67ef"},
- {file = "ruff-0.5.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:dc42ebf56ede83cb080a50eba35a06e636775649a1ffd03dc986533f878702a3"},
- {file = "ruff-0.5.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c15c6e9f88c67ffa442681365d11df38afb11059fc44238e71a9d9f1fd51de70"},
- {file = "ruff-0.5.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d3de9a5960f72c335ef00763d861fc5005ef0644cb260ba1b5a115a102157251"},
- {file = "ruff-0.5.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe5a968ae933e8f7627a7b2fc8893336ac2be0eb0aace762d3421f6e8f7b7f83"},
- {file = "ruff-0.5.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a04f54a9018f75615ae52f36ea1c5515e356e5d5e214b22609ddb546baef7132"},
- {file = "ruff-0.5.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed02fb52e3741f0738db5f93e10ae0fb5c71eb33a4f2ba87c9a2fa97462a649"},
- {file = "ruff-0.5.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3cf8fe659f6362530435d97d738eb413e9f090e7e993f88711b0377fbdc99f60"},
- {file = "ruff-0.5.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:237a37e673e9f3cbfff0d2243e797c4862a44c93d2f52a52021c1a1b0899f846"},
- {file = "ruff-0.5.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2a2949ce7c1cbd8317432ada80fe32156df825b2fd611688814c8557824ef060"},
- {file = "ruff-0.5.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:481af57c8e99da92ad168924fd82220266043c8255942a1cb87958b108ac9335"},
- {file = "ruff-0.5.2-py3-none-win32.whl", hash = "sha256:f1aea290c56d913e363066d83d3fc26848814a1fed3d72144ff9c930e8c7c718"},
- {file = "ruff-0.5.2-py3-none-win_amd64.whl", hash = "sha256:8532660b72b5d94d2a0a7a27ae7b9b40053662d00357bb2a6864dd7e38819084"},
- {file = "ruff-0.5.2-py3-none-win_arm64.whl", hash = "sha256:73439805c5cb68f364d826a5c5c4b6c798ded6b7ebaa4011f01ce6c94e4d5583"},
- {file = "ruff-0.5.2.tar.gz", hash = "sha256:2c0df2d2de685433794a14d8d2e240df619b748fbe3367346baa519d8e6f1ca2"},
+ {file = "ruff-0.6.0-py3-none-linux_armv6l.whl", hash = "sha256:92dcce923e5df265781e5fc76f9a1edad52201a7aafe56e586b90988d5239013"},
+ {file = "ruff-0.6.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:31b90ff9dc79ed476c04e957ba7e2b95c3fceb76148f2079d0d68a908d2cfae7"},
+ {file = "ruff-0.6.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:6d834a9ec9f8287dd6c3297058b3a265ed6b59233db22593379ee38ebc4b9768"},
+ {file = "ruff-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2089267692696aba342179471831a085043f218706e642564812145df8b8d0d"},
+ {file = "ruff-0.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aa62b423ee4bbd8765f2c1dbe8f6aac203e0583993a91453dc0a449d465c84da"},
+ {file = "ruff-0.6.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7344e1a964b16b1137ea361d6516ce4ee61a0403fa94252a1913ecc1311adcae"},
+ {file = "ruff-0.6.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:487f3a35c3f33bf82be212ce15dc6278ea854e35573a3f809442f73bec8b2760"},
+ {file = "ruff-0.6.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:75db409984077a793cf344d499165298a6f65449e905747ac65983b12e3e64b1"},
+ {file = "ruff-0.6.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84908bd603533ecf1db456d8fc2665d1f4335d722e84bc871d3bbd2d1116c272"},
+ {file = "ruff-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f1749a0aef3ec41ed91a0e2127a6ae97d2e2853af16dbd4f3c00d7a3af726c5"},
+ {file = "ruff-0.6.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:016fea751e2bcfbbd2f8cb19b97b37b3fd33148e4df45b526e87096f4e17354f"},
+ {file = "ruff-0.6.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:6ae80f141b53b2e36e230017e64f5ea2def18fac14334ffceaae1b780d70c4f7"},
+ {file = "ruff-0.6.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:eaaaf33ea4b3f63fd264d6a6f4a73fa224bbfda4b438ffea59a5340f4afa2bb5"},
+ {file = "ruff-0.6.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7667ddd1fc688150a7ca4137140867584c63309695a30016880caf20831503a0"},
+ {file = "ruff-0.6.0-py3-none-win32.whl", hash = "sha256:ae48365aae60d40865a412356f8c6f2c0be1c928591168111eaf07eaefa6bea3"},
+ {file = "ruff-0.6.0-py3-none-win_amd64.whl", hash = "sha256:774032b507c96f0c803c8237ce7d2ef3934df208a09c40fa809c2931f957fe5e"},
+ {file = "ruff-0.6.0-py3-none-win_arm64.whl", hash = "sha256:a5366e8c3ae6b2dc32821749b532606c42e609a99b0ae1472cf601da931a048c"},
+ {file = "ruff-0.6.0.tar.gz", hash = "sha256:272a81830f68f9bd19d49eaf7fa01a5545c5a2e86f32a9935bb0e4bb9a1db5b8"},
]
[package.source]
@@ -5112,4 +5112,4 @@ yaml = []
[metadata]
lock-version = "2.0"
python-versions = ">=3.10,<4.0.0"
-content-hash = "d685583bbdceb8277e33e71357fb9c9e781c6388911cd09aa5a0153605ae38ae"
+content-hash = "ff257fd8abf0e5a15fc3900dd4c295c45b70ea3e9a76e3822e26b35728260317"
diff --git a/pyproject.toml b/pyproject.toml
index 6b4aa0c..cdc0ef1 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -50,7 +50,7 @@ isort = "^5.13.2"
nonemoji = "^0.1.4"
nb-cli = "^1.4.1"
pre-commit = "^3.7.1"
-ruff = ">=0.5.1"
+ruff = "^0.6.0"
[tool.poetry.group.test.dependencies]
flaky = "^3.8.1"
@@ -95,12 +95,13 @@ markers = [
asyncio_mode = "auto"
[tool.ruff]
-select = ["E", "W", "F", "UP", "C", "T", "PYI", "PT", "Q"]
-ignore = ["E402", "C901", "PT023"]
-
line-length = 120
target-version = "py310"
+[tool.ruff.lint]
+select = ["E", "W", "F", "UP", "C", "T", "PYI", "PT", "Q"]
+ignore = ["E402", "C901", "PT023"]
+
[tool.black]
line-length = 120
preview = true
diff --git a/tests/config/test_config_legacy.py b/tests/config/test_config_legacy.py
index 378b563..348d44e 100644
--- a/tests/config/test_config_legacy.py
+++ b/tests/config/test_config_legacy.py
@@ -10,7 +10,7 @@ if typing.TYPE_CHECKING:
from nonebot_bison.config.config_legacy import Config
-@pytest.fixture()
+@pytest.fixture
def config_legacy(app: App, use_legacy_config):
from nonebot_bison.config import config_legacy as config
diff --git a/tests/config/test_config_operation.py b/tests/config/test_config_operation.py
index e18ff76..f067603 100644
--- a/tests/config/test_config_operation.py
+++ b/tests/config/test_config_operation.py
@@ -52,18 +52,18 @@ async def test_add_subscribe(app: App, init_scheduler):
)
confs = await config.list_subscribe(TargetQQGroup(group_id=123))
assert len(confs) == 1
- conf: Subscribe = confs[0]
+ conf2: Subscribe = confs[0]
async with AsyncSession(get_engine()) as sess:
- related_user_obj = await sess.scalar(select(User).where(User.id == conf.user_id))
- related_target_obj = await sess.scalar(select(Target).where(Target.id == conf.target_id))
+ related_user_obj = await sess.scalar(select(User).where(User.id == conf2.user_id))
+ related_target_obj = await sess.scalar(select(Target).where(Target.id == conf2.target_id))
assert related_user_obj
assert related_target_obj
assert related_user_obj.user_target["group_id"] == 123
assert related_target_obj.target_name == "weibo_name2"
assert related_target_obj.target == "weibo_id"
- assert conf.target.target == "weibo_id"
- assert conf.categories == [1]
- assert conf.tags == ["tag"]
+ assert conf2.target.target == "weibo_id"
+ assert conf2.categories == [1]
+ assert conf2.tags == ["tag"]
async def test_add_dup_sub(init_scheduler):
diff --git a/tests/conftest.py b/tests/conftest.py
index 5dd4d5a..6c19b90 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -28,7 +28,7 @@ def load_adapters(nonebug_init: None):
return driver
-@pytest.fixture()
+@pytest.fixture
async def app(tmp_path: Path, request: pytest.FixtureRequest, mocker: MockerFixture):
sys.path.append(str(Path(__file__).parent.parent / "src" / "plugins"))
@@ -75,7 +75,7 @@ async def app(tmp_path: Path, request: pytest.FixtureRequest, mocker: MockerFixt
cache_dir.mkdir()
-@pytest.fixture()
+@pytest.fixture
def dummy_user_subinfo(app: App):
from nonebot_plugin_saa import TargetQQGroup
@@ -85,14 +85,14 @@ def dummy_user_subinfo(app: App):
return UserSubInfo(user=user, categories=[], tags=[])
-@pytest.fixture()
+@pytest.fixture
async def init_scheduler(app: App):
from nonebot_bison.scheduler.manager import init_scheduler
return await init_scheduler()
-@pytest.fixture()
+@pytest.fixture
async def use_legacy_config(app: App):
import aiofiles
diff --git a/tests/platforms/test_arknights.py b/tests/platforms/test_arknights.py
index 4e245c9..92dd0b9 100644
--- a/tests/platforms/test_arknights.py
+++ b/tests/platforms/test_arknights.py
@@ -9,7 +9,7 @@ from nonebot.compat import model_dump, type_validate_python
from .utils import get_file, get_json
-@pytest.fixture()
+@pytest.fixture
def arknights(app: App):
from nonebot_bison.platform import platform_manager
from nonebot_bison.utils import ProcessContext, DefaultClientManager
diff --git a/tests/platforms/test_bilibili.py b/tests/platforms/test_bilibili.py
index 15a35de..0cc6534 100644
--- a/tests/platforms/test_bilibili.py
+++ b/tests/platforms/test_bilibili.py
@@ -15,7 +15,7 @@ from nonebot.compat import model_dump, type_validate_python
from .utils import get_json
-@pytest.fixture()
+@pytest.fixture
def bing_dy_list(app: App):
from nonebot_bison.platform.bilibili.models import PostAPI
@@ -26,7 +26,7 @@ if TYPE_CHECKING:
from nonebot_bison.platform.bilibili import Bilibili
-@pytest.fixture()
+@pytest.fixture
def bilibili(app: App) -> "Bilibili":
from nonebot_bison.utils import ProcessContext
from nonebot_bison.platform import platform_manager
@@ -35,7 +35,7 @@ def bilibili(app: App) -> "Bilibili":
return platform_manager["bilibili"](ProcessContext(BilibiliClientManager())) # type: ignore
-@pytest.fixture()
+@pytest.fixture
def without_dynamic(app: App):
from nonebot_bison.platform.bilibili.models import PostAPI
diff --git a/tests/platforms/test_bilibili_bangumi.py b/tests/platforms/test_bilibili_bangumi.py
index 3f177c5..d4c9c71 100644
--- a/tests/platforms/test_bilibili_bangumi.py
+++ b/tests/platforms/test_bilibili_bangumi.py
@@ -11,7 +11,7 @@ if typing.TYPE_CHECKING:
from nonebot_bison.platform.bilibili import BilibiliBangumi
-@pytest.fixture()
+@pytest.fixture
def bili_bangumi(app: App):
from nonebot_bison.platform import platform_manager
from nonebot_bison.utils import ProcessContext, DefaultClientManager
diff --git a/tests/platforms/test_bilibili_live.py b/tests/platforms/test_bilibili_live.py
index b4dcb45..65762f5 100644
--- a/tests/platforms/test_bilibili_live.py
+++ b/tests/platforms/test_bilibili_live.py
@@ -12,7 +12,7 @@ if TYPE_CHECKING:
from nonebot_bison.platform.bilibili import Bilibililive
-@pytest.fixture()
+@pytest.fixture
def bili_live(app: App):
from nonebot_bison.platform import platform_manager
from nonebot_bison.utils import ProcessContext, DefaultClientManager
@@ -20,7 +20,7 @@ def bili_live(app: App):
return platform_manager["bilibili-live"](ProcessContext(DefaultClientManager()))
-@pytest.fixture()
+@pytest.fixture
def dummy_only_open_user_subinfo(app: App):
from nonebot_plugin_saa import TargetQQGroup
@@ -131,7 +131,7 @@ async def test_fetch_bililive_only_live_open(bili_live: "Bilibililive", dummy_on
assert len(res4[0][1]) == 0
-@pytest.fixture()
+@pytest.fixture
def dummy_only_title_user_subinfo(app: App):
from nonebot_plugin_saa import TargetQQGroup
@@ -190,7 +190,7 @@ async def test_fetch_bililive_only_title_change(bili_live, dummy_only_title_user
assert len(res4[0][1]) == 0
-@pytest.fixture()
+@pytest.fixture
def dummy_only_close_user_subinfo(app: App):
from nonebot_plugin_saa import TargetQQGroup
@@ -250,7 +250,7 @@ async def test_fetch_bililive_only_close(bili_live, dummy_only_close_user_subinf
assert post4.compress is True
-@pytest.fixture()
+@pytest.fixture
def dummy_bililive_user_subinfo(app: App):
from nonebot_plugin_saa import TargetQQGroup
diff --git a/tests/platforms/test_ceobecanteen.py b/tests/platforms/test_ceobecanteen.py
index 49e5a54..5820aff 100644
--- a/tests/platforms/test_ceobecanteen.py
+++ b/tests/platforms/test_ceobecanteen.py
@@ -12,7 +12,7 @@ if TYPE_CHECKING:
from nonebot_bison.platform.ceobecanteen import CeobeCanteen
-@pytest.fixture()
+@pytest.fixture
def dummy_only_open_user_subinfo(app: App):
from nonebot_plugin_saa import TargetQQGroup
@@ -22,7 +22,7 @@ def dummy_only_open_user_subinfo(app: App):
return UserSubInfo(user=user, categories=[1], tags=[])
-@pytest.fixture()
+@pytest.fixture
def ceobecanteen(app: App):
from nonebot_bison.utils import ProcessContext
from nonebot_bison.platform import platform_manager
diff --git a/tests/platforms/test_ff14.py b/tests/platforms/test_ff14.py
index d58dd1e..c6512f8 100644
--- a/tests/platforms/test_ff14.py
+++ b/tests/platforms/test_ff14.py
@@ -6,7 +6,7 @@ from nonebug.app import App
from .utils import get_json
-@pytest.fixture()
+@pytest.fixture
def ff14(app: App):
from nonebot_bison.platform import platform_manager
from nonebot_bison.utils import ProcessContext, DefaultClientManager
diff --git a/tests/platforms/test_ncm_artist.py b/tests/platforms/test_ncm_artist.py
index 9ebe14c..91b5921 100644
--- a/tests/platforms/test_ncm_artist.py
+++ b/tests/platforms/test_ncm_artist.py
@@ -12,7 +12,7 @@ if typing.TYPE_CHECKING:
from nonebot_bison.platform.ncm import NcmArtist
-@pytest.fixture()
+@pytest.fixture
def ncm_artist(app: App):
from nonebot_bison.platform import platform_manager
from nonebot_bison.utils import ProcessContext, DefaultClientManager
diff --git a/tests/platforms/test_ncm_radio.py b/tests/platforms/test_ncm_radio.py
index a8adaa9..37b9d45 100644
--- a/tests/platforms/test_ncm_radio.py
+++ b/tests/platforms/test_ncm_radio.py
@@ -12,7 +12,7 @@ if typing.TYPE_CHECKING:
from nonebot_bison.platform.ncm import NcmRadio
-@pytest.fixture()
+@pytest.fixture
def ncm_radio(app: App):
from nonebot_bison.platform import platform_manager
from nonebot_bison.utils import ProcessContext, DefaultClientManager
diff --git a/tests/platforms/test_platform.py b/tests/platforms/test_platform.py
index 77c9a0b..689607b 100644
--- a/tests/platforms/test_platform.py
+++ b/tests/platforms/test_platform.py
@@ -16,7 +16,7 @@ raw_post_list_2 = raw_post_list_1 + [
]
-@pytest.fixture()
+@pytest.fixture
def dummy_user(app: App):
from nonebot_plugin_saa import TargetQQGroup
@@ -24,7 +24,7 @@ def dummy_user(app: App):
return user
-@pytest.fixture()
+@pytest.fixture
def user_info_factory(app: App, dummy_user):
from nonebot_bison.types import UserSubInfo
@@ -34,7 +34,7 @@ def user_info_factory(app: App, dummy_user):
return _user_info
-@pytest.fixture()
+@pytest.fixture
def mock_platform_without_cats_tags(app: App):
from nonebot_bison.post import Post
from nonebot_bison.types import Target, RawPost
@@ -81,7 +81,7 @@ def mock_platform_without_cats_tags(app: App):
return MockPlatform
-@pytest.fixture()
+@pytest.fixture
def mock_platform(app: App):
from nonebot_bison.post import Post
from nonebot_bison.utils import Site
@@ -143,7 +143,7 @@ def mock_platform(app: App):
return MockPlatform
-@pytest.fixture()
+@pytest.fixture
def mock_site(app):
from nonebot_bison.utils import Site
@@ -155,7 +155,7 @@ def mock_site(app):
return MockSite
-@pytest.fixture()
+@pytest.fixture
def mock_platform_no_target(app: App, mock_site):
from nonebot_bison.post import Post
from nonebot_bison.types import Tag, Target, RawPost, Category
@@ -210,7 +210,7 @@ def mock_platform_no_target(app: App, mock_site):
return MockPlatform
-@pytest.fixture()
+@pytest.fixture
def mock_platform_no_target_2(app: App, mock_site):
from nonebot_bison.post import Post
from nonebot_bison.platform.platform import NewMessage
@@ -272,7 +272,7 @@ def mock_platform_no_target_2(app: App, mock_site):
return MockPlatform
-@pytest.fixture()
+@pytest.fixture
def mock_status_change(app: App):
from nonebot_bison.post import Post
from nonebot_bison.platform.platform import StatusChange
diff --git a/tests/platforms/test_rss.py b/tests/platforms/test_rss.py
index 6f291cc..2d5b792 100644
--- a/tests/platforms/test_rss.py
+++ b/tests/platforms/test_rss.py
@@ -14,7 +14,7 @@ if typing.TYPE_CHECKING:
pass
-@pytest.fixture()
+@pytest.fixture
def dummy_user(app: App):
from nonebot_bison.types import User
@@ -22,7 +22,7 @@ def dummy_user(app: App):
return user
-@pytest.fixture()
+@pytest.fixture
def user_info_factory(app: App, dummy_user):
from nonebot_bison.types import UserSubInfo
@@ -32,7 +32,7 @@ def user_info_factory(app: App, dummy_user):
return _user_info
-@pytest.fixture()
+@pytest.fixture
def rss(app: App):
from nonebot_bison.platform import platform_manager
from nonebot_bison.utils import ProcessContext, DefaultClientManager
@@ -40,7 +40,7 @@ def rss(app: App):
return platform_manager["rss"](ProcessContext(DefaultClientManager()))
-@pytest.fixture()
+@pytest.fixture
def update_time_feed_1():
file = get_file("rss-twitter-ArknightsStaff.xml")
root = ET.fromstring(file)
@@ -53,7 +53,7 @@ def update_time_feed_1():
return ET.tostring(root, encoding="unicode")
-@pytest.fixture()
+@pytest.fixture
def update_time_feed_2():
file = get_file("rss-ruanyifeng.xml")
root = ET.fromstring(file)
@@ -119,7 +119,7 @@ async def test_fetch_new_2(
assert post1.content == "这里记录每周值得分享的科技内容,周五发布。..."
-@pytest.fixture()
+@pytest.fixture
def update_time_feed_3():
file = get_file("rss-github-atom.xml")
root = ET.fromstring(file)
diff --git a/tests/platforms/test_weibo.py b/tests/platforms/test_weibo.py
index 97fc4db..d8b0268 100644
--- a/tests/platforms/test_weibo.py
+++ b/tests/platforms/test_weibo.py
@@ -16,7 +16,7 @@ if typing.TYPE_CHECKING:
image_cdn_router = respx.route(host__regex=r"wx\d.sinaimg.cn", path__startswith="/large/")
-@pytest.fixture()
+@pytest.fixture
def weibo(app: App):
from nonebot_bison.platform import platform_manager
from nonebot_bison.utils import ProcessContext, DefaultClientManager
diff --git a/tests/post/test_generate.py b/tests/post/test_generate.py
index be3bbb8..ad48213 100644
--- a/tests/post/test_generate.py
+++ b/tests/post/test_generate.py
@@ -18,7 +18,7 @@ raw_post_list_2 = raw_post_list_1 + [
]
-@pytest.fixture()
+@pytest.fixture
def mock_platform(app: App):
from nonebot_bison.post import Post
from nonebot_bison.types import Target, RawPost
diff --git a/tests/subs_io/test_cli.py b/tests/subs_io/test_cli.py
index 5714d65..0ffad3a 100644
--- a/tests/subs_io/test_cli.py
+++ b/tests/subs_io/test_cli.py
@@ -138,10 +138,10 @@ async def test_subs_import_v1(app: App, tmp_path):
assert result.exit_code == 0
assert len(await config.list_subs_with_all_info()) == 3
- mock_file: Path = tmp_path / "2.yaml"
- mock_file.write_text(get_file("v1/subs_export.yaml"))
+ mock_file2: Path = tmp_path / "2.yaml"
+ mock_file2.write_text(get_file("v1/subs_export.yaml"))
- result = await run_sync(runner.invoke)(cli, ["import", "-p", str(mock_file), "--format=yml"])
+ result = await run_sync(runner.invoke)(cli, ["import", "-p", str(mock_file2), "--format=yml"])
assert result.exit_code == 0
assert len(await config.list_subs_with_all_info()) == 6
@@ -169,9 +169,9 @@ async def test_sub_import_v2(app: App, tmp_path):
assert result.exit_code == 0
assert len(await config.list_subs_with_all_info()) == 3
- mock_file: Path = tmp_path / "2.yaml"
- mock_file.write_text(get_file("v2/subs_export.yaml"))
+ mock_file2: Path = tmp_path / "2.yaml"
+ mock_file2.write_text(get_file("v2/subs_export.yaml"))
- result = await run_sync(runner.invoke)(cli, ["import", "-p", str(mock_file), "--format=yml"])
+ result = await run_sync(runner.invoke)(cli, ["import", "-p", str(mock_file2), "--format=yml"])
assert result.exit_code == 0
assert len(await config.list_subs_with_all_info()) == 6
diff --git a/tests/test_merge_pic.py b/tests/test_merge_pic.py
index 2581e1d..670d195 100644
--- a/tests/test_merge_pic.py
+++ b/tests/test_merge_pic.py
@@ -52,12 +52,12 @@ async def download_imgs(url_list: list[str]) -> list[bytes]:
return img_contents
-@pytest.fixture()
+@pytest.fixture
async def downloaded_resource():
return await download_imgs(merge_source_9)
-@pytest.fixture()
+@pytest.fixture
async def downloaded_resource_2():
return await download_imgs(merge_source_9_2)
diff --git a/tests/theme/test_themes.py b/tests/theme/test_themes.py
index bc27c04..65ad2f2 100644
--- a/tests/theme/test_themes.py
+++ b/tests/theme/test_themes.py
@@ -22,19 +22,19 @@ raw_post_list_2 = raw_post_list_1 + [
]
-@pytest.fixture()
+@pytest.fixture
def MERGEABLE_PNG_DATA() -> bytes:
from tests.platforms.utils import get_bytes
return get_bytes("mergeable-pic.jpg")
-@pytest.fixture()
+@pytest.fixture
def SIMPLE_PNG_DATA() -> bytes:
return 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"
-@pytest.fixture()
+@pytest.fixture
def mock_platform(app: App):
from nonebot_bison.post import Post
from nonebot_bison.types import Target, RawPost
@@ -81,7 +81,7 @@ def mock_platform(app: App):
return MockPlatform
-@pytest.fixture()
+@pytest.fixture
def mock_post(app: App, mock_platform):
from nonebot_bison.post import Post
from nonebot_bison.utils import ProcessContext, DefaultClientManager