💥 Remove: 移除 Python 3.8 支持 (#2641)

This commit is contained in:
Ju4tCode
2024-04-16 00:33:48 +08:00
committed by GitHub
parent e93ee1ffec
commit 4a02dde83f
69 changed files with 1811 additions and 1848 deletions

View File

@ -16,8 +16,9 @@ FrontMatter:
"""
from typing_extensions import override
from collections.abc import AsyncGenerator
from contextlib import asynccontextmanager
from typing import TYPE_CHECKING, Union, Optional, AsyncGenerator
from typing import TYPE_CHECKING, Union, Optional
from multidict import CIMultiDict
@ -221,8 +222,8 @@ class WebSocket(BaseWebSocket):
raise NotImplementedError
@override
async def close(self, code: int = 1000):
await self.websocket.close(code=code)
async def close(self, code: int = 1000, reason: str = ""):
await self.websocket.close(code=code, message=reason.encode("utf-8"))
await self.session.close()
async def _receive(self) -> aiohttp.WSMessage:

View File

@ -19,7 +19,7 @@ import logging
import contextlib
from functools import wraps
from typing_extensions import override
from typing import Any, Dict, List, Tuple, Union, Optional
from typing import Any, Union, Optional
from pydantic import BaseModel
@ -72,15 +72,15 @@ class Config(BaseModel):
"""是否包含适配器路由的 schema默认为 `True`"""
fastapi_reload: bool = False
"""开启/关闭冷重载"""
fastapi_reload_dirs: Optional[List[str]] = None
fastapi_reload_dirs: Optional[list[str]] = None
"""重载监控文件夹列表,默认为 uvicorn 默认值"""
fastapi_reload_delay: float = 0.25
"""重载延迟,默认为 uvicorn 默认值"""
fastapi_reload_includes: Optional[List[str]] = None
fastapi_reload_includes: Optional[list[str]] = None
"""要监听的文件列表,支持 glob pattern默认为 uvicorn 默认值"""
fastapi_reload_excludes: Optional[List[str]] = None
fastapi_reload_excludes: Optional[list[str]] = None
"""不要监听的文件列表,支持 glob pattern默认为 uvicorn 默认值"""
fastapi_extra: Dict[str, Any] = {}
fastapi_extra: dict[str, Any] = {}
"""传递给 `FastAPI` 的其他参数。"""
@ -161,7 +161,7 @@ class Driver(BaseDriver, ASGIMixin):
self,
host: Optional[str] = None,
port: Optional[int] = None,
*,
*args,
app: Optional[str] = None,
**kwargs,
):
@ -206,7 +206,7 @@ class Driver(BaseDriver, ASGIMixin):
json = await request.json()
data: Optional[dict] = None
files: Optional[List[Tuple[str, FileTypes]]] = None
files: Optional[list[tuple[str, FileTypes]]] = None
with contextlib.suppress(Exception):
form = await request.form()
data = {}

View File

@ -18,7 +18,7 @@ FrontMatter:
import asyncio
from functools import wraps
from typing_extensions import override
from typing import Any, Dict, List, Tuple, Union, Optional, cast
from typing import Any, Union, Optional, cast
from pydantic import BaseModel
@ -64,15 +64,15 @@ class Config(BaseModel):
quart_reload: bool = False
"""开启/关闭冷重载"""
quart_reload_dirs: Optional[List[str]] = None
quart_reload_dirs: Optional[list[str]] = None
"""重载监控文件夹列表,默认为 uvicorn 默认值"""
quart_reload_delay: float = 0.25
"""重载延迟,默认为 uvicorn 默认值"""
quart_reload_includes: Optional[List[str]] = None
quart_reload_includes: Optional[list[str]] = None
"""要监听的文件列表,支持 glob pattern默认为 uvicorn 默认值"""
quart_reload_excludes: Optional[List[str]] = None
quart_reload_excludes: Optional[list[str]] = None
"""不要监听的文件列表,支持 glob pattern默认为 uvicorn 默认值"""
quart_extra: Dict[str, Any] = {}
quart_extra: dict[str, Any] = {}
"""传递给 `Quart` 的其他参数。"""
@ -142,7 +142,7 @@ class Driver(BaseDriver, ASGIMixin):
self,
host: Optional[str] = None,
port: Optional[int] = None,
*,
*args,
app: Optional[str] = None,
**kwargs,
):
@ -184,7 +184,7 @@ class Driver(BaseDriver, ASGIMixin):
data = await request.form
files_dict = await request.files
files: List[Tuple[str, FileTypes]] = []
files: list[tuple[str, FileTypes]] = []
key: str
value: FileStorage
for key, value in files_dict.items():

View File

@ -19,7 +19,8 @@ import logging
from functools import wraps
from contextlib import asynccontextmanager
from typing_extensions import ParamSpec, override
from typing import TYPE_CHECKING, Union, TypeVar, Callable, Awaitable, AsyncGenerator
from collections.abc import Coroutine, AsyncGenerator
from typing import TYPE_CHECKING, Any, Union, TypeVar, Callable
from nonebot.drivers import Request
from nonebot.log import LoguruHandler
@ -44,7 +45,9 @@ logger = logging.Logger("websockets.client", "INFO")
logger.addHandler(LoguruHandler())
def catch_closed(func: Callable[P, Awaitable[T]]) -> Callable[P, Awaitable[T]]:
def catch_closed(
func: Callable[P, Coroutine[Any, Any, T]]
) -> Callable[P, Coroutine[Any, Any, T]]:
@wraps(func)
async def decorator(*args: P.args, **kwargs: P.kwargs) -> T:
try: