Skip to content

Commit acb078b

Browse files
🧑‍💻 Develop: 完全使用 ruff 替代 isort 与 black (#27)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 9ea5508 commit acb078b

File tree

261 files changed

+1171
-1336
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

261 files changed

+1171
-1336
lines changed

.devcontainer/devcontainer.json

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,11 @@
99
"vscode": {
1010
"settings": {
1111
"python.analysis.diagnosticMode": "workspace",
12-
"python.analysis.typeCheckingMode": "basic",
13-
"ruff.organizeImports": false,
1412
"[python]": {
15-
"editor.defaultFormatter": "ms-python.black-formatter",
13+
"editor.defaultFormatter": "charliermarsh.ruff",
1614
"editor.codeActionsOnSave": {
17-
"source.fixAll.ruff": true,
18-
"source.organizeImports": true
15+
"source.fixAll.ruff": "explicit",
16+
"source.organizeImports": "explicit"
1917
}
2018
},
2119
"[javascript]": {
@@ -44,8 +42,6 @@
4442
"extensions": [
4543
"ms-python.python",
4644
"ms-python.vscode-pylance",
47-
"ms-python.isort",
48-
"ms-python.black-formatter",
4945
"charliermarsh.ruff",
5046
"EditorConfig.EditorConfig",
5147
"esbenp.prettier-vscode"

.pre-commit-config.yaml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,12 @@ ci:
77
autoupdate_commit_msg: ":arrow_up: auto update by pre-commit hooks"
88
repos:
99
- repo: https://github.com/astral-sh/ruff-pre-commit
10-
rev: v0.8.1
10+
rev: v0.8.2
1111
hooks:
1212
- id: ruff
1313
args: [--fix, --exit-non-zero-on-fix]
1414
stages: [pre-commit]
15-
16-
- repo: https://github.com/pycqa/isort
17-
rev: 5.13.2
18-
hooks:
19-
- id: isort
20-
stages: [pre-commit]
21-
22-
- repo: https://github.com/psf/black
23-
rev: 24.10.0
24-
hooks:
25-
- id: black
15+
- id: ruff-format
2616
stages: [pre-commit]
2717

2818
- repo: https://github.com/pre-commit/mirrors-prettier

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,5 +138,5 @@ github = bot.github
138138
生成事件列表:
139139

140140
```bash
141-
python -m codegen && ruff check --fix -e . && isort . && black .
141+
python -m codegen && ruff check --fix -e . && ruff format .
142142
```

codegen/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
import shutil
1+
from dataclasses import dataclass
22
import inspect
3-
from pathlib import Path
43
from itertools import chain
4+
from pathlib import Path
5+
import shutil
56
from typing import Union, cast
6-
from dataclasses import dataclass
77
from typing_extensions import get_args, get_origin
88

99
from githubkit import GitHubModel
10-
from jinja2 import Environment, PackageLoader
1110
from githubkit.versions.latest.webhooks import webhook_action_types
11+
from jinja2 import Environment, PackageLoader
1212

1313
MESSAGE_EVENTS = {
1414
"CommitCommentCreated",

nonebot/adapters/github/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ def __getattr__(name: str):
1616
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
1717

1818

19-
from .bot import Bot as Bot
20-
from .bot import OAuthBot as OAuthBot
2119
from .adapter import Adapter as Adapter
20+
from .bot import Bot as Bot
2221
from .bot import GitHubBot as GitHubBot
23-
from .message import Message as Message
22+
from .bot import OAuthBot as OAuthBot
2423
from .exception import ActionFailed as ActionFailed
24+
from .exception import ActionTimeout as ActionTimeout
25+
from .exception import GitHubAdapterException as GitHubAdapterException
2526
from .exception import GraphQLError as GraphQLError
2627
from .exception import NetworkError as NetworkError
27-
from .exception import ActionTimeout as ActionTimeout
28+
from .message import Message as Message
2829
from .message import MessageSegment as MessageSegment
29-
from .exception import GitHubAdapterException as GitHubAdapterException

nonebot/adapters/github/adapter.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
1-
import json
21
import asyncio
3-
import inspect
42
from functools import partial
3+
import inspect
4+
import json
5+
from typing import Any, Callable, Optional, Type, Union, cast
56
from typing_extensions import override
6-
from typing import Any, Type, Union, Callable, Optional, cast
77

8+
from githubkit.exception import GraphQLFailed, RequestFailed, RequestTimeout
89
from githubkit.webhooks import verify
10+
11+
from nonebot import get_plugin_config
12+
from nonebot.adapters import Adapter as BaseAdapter
913
from nonebot.compat import type_validate_python
10-
from githubkit.exception import GraphQLFailed, RequestFailed, RequestTimeout
1114
from nonebot.drivers import (
1215
URL,
1316
Driver,
17+
HTTPServerSetup,
1418
Request,
1519
Response,
1620
ReverseDriver,
17-
HTTPServerSetup,
1821
)
1922

20-
from nonebot import get_plugin_config
21-
from nonebot.adapters import Adapter as BaseAdapter
22-
2323
from . import event
24-
from .utils import log
24+
from .bot import Bot, GitHubBot, OAuthBot
25+
from .config import Config, GitHubApp, OAuthApp
2526
from .event import Event, events
26-
from .bot import Bot, OAuthBot, GitHubBot
27+
from .exception import ActionFailed, ActionTimeout, GraphQLError, NetworkError
2728
from .message import Message, MessageSegment
28-
from .config import Config, OAuthApp, GitHubApp
29-
from .exception import ActionFailed, GraphQLError, NetworkError, ActionTimeout
29+
from .utils import log
3030

3131

3232
def import_event_model(event_name: str) -> Type[Event]:
@@ -38,6 +38,7 @@ class Adapter(BaseAdapter):
3838
def __init__(self, driver: Driver, **kwargs: Any):
3939
super().__init__(driver, **kwargs)
4040
self.github_config = get_plugin_config(Config)
41+
self.tasks: set["asyncio.Task"] = set()
4142
self._setup()
4243

4344
@classmethod
@@ -101,7 +102,9 @@ async def _handle_webhook(
101102

102103
if event := self.payload_to_event(event_id, event_name, payload):
103104
bot = cast(Bot, self.bots[app.id])
104-
asyncio.create_task(bot.handle_event(event))
105+
task = asyncio.create_task(bot.handle_event(event))
106+
task.add_done_callback(self.tasks.discard)
107+
self.tasks.add(task)
105108

106109
return Response(200, content="OK")
107110

nonebot/adapters/github/bot.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,40 @@
1-
import re
2-
from contextvars import ContextVar
31
from contextlib import asynccontextmanager
4-
from typing_extensions import Self, override
2+
from contextvars import ContextVar
3+
import re
54
from typing import (
65
TYPE_CHECKING,
76
Any,
7+
AsyncGenerator,
8+
Callable,
89
Dict,
9-
List,
10-
Union,
1110
Generic,
12-
TypeVar,
13-
Callable,
11+
List,
1412
Optional,
15-
AsyncGenerator,
13+
TypeVar,
14+
Union,
1615
)
16+
from typing_extensions import Self, override
1717

18-
from githubkit.utils import UNSET, Unset
19-
from nonebot.message import handle_event
2018
from githubkit import (
21-
GitHub,
2219
AppAuthStrategy,
2320
BaseAuthStrategy,
24-
TokenAuthStrategy,
21+
GitHub,
2522
OAuthAppAuthStrategy,
23+
TokenAuthStrategy,
2624
)
25+
from githubkit.utils import UNSET, Unset
2726

2827
from nonebot.adapters import Bot as BaseBot
28+
from nonebot.message import handle_event
2929

30-
from .config import OAuthApp, GitHubApp
30+
from .config import GitHubApp, OAuthApp
31+
from .event import CommitCommentCreated, Event
3132
from .message import Message, MessageSegment
32-
from .event import Event, CommitCommentCreated
3333
from .utils import APIContext, get_attr_or_item
3434

3535
if TYPE_CHECKING:
36-
from githubkit.versions.rest import RestVersionSwitcher
3736
from githubkit.versions.latest.types import AppPermissionsType
37+
from githubkit.versions.rest import RestVersionSwitcher
3838

3939
from .adapter import Adapter
4040

nonebot/adapters/github/compat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
from pydantic import validator
1111

1212
def field_validator(
13-
__field: str, *fields: str, mode: Literal["before", "after"] = "after"
13+
__field: str, /, *fields: str, mode: Literal["before", "after"] = "after"
1414
):
1515
return validator(__field, *fields, pre=mode == "before", allow_reuse=True)

nonebot/adapters/github/config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
from typing import Any, List, Union, Optional
1+
from typing import Any, List, Optional, Union
22

3-
from pydantic import Field, BaseModel
3+
from pydantic import BaseModel, Field
44

55
from .compat import field_validator
66

0 commit comments

Comments
 (0)