Skip to content

Commit

Permalink
🐛 修正项目的代码警告 (#614)
Browse files Browse the repository at this point in the history
* 🐛 调整ruff的pytest警告

* 🐛 调整导入关系警告

* 🐛 删除奇怪无用的赋值和取值逻辑

* ✅ 不同测试部分所用变量应加以区分

* 🐛 subs_io model添加默认值

* 🐛 修完所有的 ruff PT001 警告

* 🔧 按ruff建议修改ruff配置

warning: The top-level linter settings are deprecated in favour of their counterparts in the `lint` section. Please update the following options in `pyproject.toml`:
  - 'ignore' -> 'lint.ignore'
  - 'select' -> 'lint.select'

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
AzideCupric and pre-commit-ci[bot] authored Aug 17, 2024
1 parent 29f23eb commit 32e3bcc
Show file tree
Hide file tree
Showing 26 changed files with 87 additions and 88 deletions.
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
2 changes: 1 addition & 1 deletion nonebot_bison/config/subs_io/nbesf_model/v1.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class SubGroup(
"""

version: int = NBESF_VERSION
groups: list[SubPack]
groups: list[SubPack] = []


# ======================= #
Expand Down
2 changes: 1 addition & 1 deletion nonebot_bison/config/subs_io/nbesf_model/v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class SubGroup(NBESFBase):
"""

version: int = NBESF_VERSION
groups: list[SubPack]
groups: list[SubPack] = []


# ======================= #
Expand Down
4 changes: 2 additions & 2 deletions nonebot_bison/platform/weibo.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
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
Expand Down Expand Up @@ -131,7 +131,7 @@ def get_category(self, raw_post: RawPost) -> Category:

def _get_text(self, raw_text: str) -> str:
text = raw_text.replace("<br/>", "\n").replace("<br />", "\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']")
Expand Down
5 changes: 3 additions & 2 deletions nonebot_bison/script/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

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

Expand All @@ -39,15 +40,15 @@ def import_yaml_module() -> ModuleType:
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


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

Expand Down
3 changes: 0 additions & 3 deletions nonebot_bison/sub_manager/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
40 changes: 20 additions & 20 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion tests/config/test_config_legacy.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
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

Expand Down
12 changes: 6 additions & 6 deletions tests/config/test_config_operation.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
8 changes: 4 additions & 4 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"))

Expand Down Expand Up @@ -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

Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion tests/platforms/test_arknights.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
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
Expand Down
6 changes: 3 additions & 3 deletions tests/platforms/test_bilibili.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from .utils import get_json


@pytest.fixture()
@pytest.fixture
def bing_dy_list(app: App):
from nonebot_bison.platform.bilibili.models import PostAPI

Expand All @@ -26,7 +26,7 @@ def bing_dy_list(app: App):
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
Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion tests/platforms/test_bilibili_bangumi.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
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
Expand Down
10 changes: 5 additions & 5 deletions tests/platforms/test_bilibili_live.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@
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

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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down
4 changes: 2 additions & 2 deletions tests/platforms/test_ceobecanteen.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
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

Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion tests/platforms/test_ff14.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
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
Expand Down
2 changes: 1 addition & 1 deletion tests/platforms/test_ncm_artist.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
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
Expand Down
2 changes: 1 addition & 1 deletion tests/platforms/test_ncm_radio.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
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
Expand Down
Loading

0 comments on commit 32e3bcc

Please sign in to comment.