use typing.override instead (#2193)

This commit is contained in:
Ju4tCode
2023-07-17 15:56:27 +08:00
committed by GitHub
parent 7dd7c927bf
commit 6dc87a9455
8 changed files with 84 additions and 83 deletions

View File

@ -17,6 +17,7 @@ FrontMatter:
import asyncio
from functools import wraps
from typing_extensions import override
from typing import (
Any,
Dict,
@ -33,7 +34,6 @@ from typing import (
from pydantic import BaseSettings
from nonebot.config import Env
from nonebot.typing import overrides
from nonebot.exception import WebSocketClosed
from nonebot.internal.driver import FileTypes
from nonebot.config import Config as NoneBotConfig
@ -102,30 +102,30 @@ class Driver(ReverseDriver):
)
@property
@overrides(ReverseDriver)
@override
def type(self) -> str:
"""驱动名称: `quart`"""
return "quart"
@property
@overrides(ReverseDriver)
@override
def server_app(self) -> Quart:
"""`Quart` 对象"""
return self._server_app
@property
@overrides(ReverseDriver)
@override
def asgi(self):
"""`Quart` 对象"""
return self._server_app
@property
@overrides(ReverseDriver)
@override
def logger(self):
"""Quart 使用的 logger"""
return self._server_app.logger
@overrides(ReverseDriver)
@override
def setup_http_server(self, setup: HTTPServerSetup):
async def _handle() -> Response:
return await self._handle_http(setup)
@ -137,7 +137,7 @@ class Driver(ReverseDriver):
view_func=_handle,
)
@overrides(ReverseDriver)
@override
def setup_websocket_server(self, setup: WebSocketServerSetup) -> None:
async def _handle() -> None:
return await self._handle_ws(setup)
@ -148,17 +148,17 @@ class Driver(ReverseDriver):
view_func=_handle,
)
@overrides(ReverseDriver)
@override
def on_startup(self, func: _AsyncCallable) -> _AsyncCallable:
"""参考文档: [`Startup and Shutdown`](https://pgjones.gitlab.io/quart/how_to_guides/startup_shutdown.html)"""
return self.server_app.before_serving(func) # type: ignore
@overrides(ReverseDriver)
@override
def on_shutdown(self, func: _AsyncCallable) -> _AsyncCallable:
"""参考文档: [`Startup and Shutdown`](https://pgjones.gitlab.io/quart/how_to_guides/startup_shutdown.html)"""
return self.server_app.after_serving(func) # type: ignore
@overrides(ReverseDriver)
@override
def run(
self,
host: Optional[str] = None,
@ -262,25 +262,25 @@ class WebSocket(BaseWebSocket):
return self.websocket_ctx.websocket
@property
@overrides(BaseWebSocket)
@override
def closed(self):
# FIXME
return True
@overrides(BaseWebSocket)
@override
async def accept(self):
await self.websocket.accept()
@overrides(BaseWebSocket)
@override
async def close(self, code: int = 1000, reason: str = ""):
await self.websocket.close(code, reason)
@overrides(BaseWebSocket)
@override
@catch_closed
async def receive(self) -> Union[str, bytes]:
return await self.websocket.receive()
@overrides(BaseWebSocket)
@override
@catch_closed
async def receive_text(self) -> str:
msg = await self.websocket.receive()
@ -288,7 +288,7 @@ class WebSocket(BaseWebSocket):
raise TypeError("WebSocket received unexpected frame type: bytes")
return msg
@overrides(BaseWebSocket)
@override
@catch_closed
async def receive_bytes(self) -> bytes:
msg = await self.websocket.receive()
@ -296,11 +296,11 @@ class WebSocket(BaseWebSocket):
raise TypeError("WebSocket received unexpected frame type: str")
return msg
@overrides(BaseWebSocket)
@override
async def send_text(self, data: str):
await self.websocket.send(data)
@overrides(BaseWebSocket)
@override
async def send_bytes(self, data: bytes):
await self.websocket.send(data)