Skip to content

Commit

Permalink
✨ Feature: upgrade to pydantic v2 (#31)
Browse files Browse the repository at this point in the history
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
MeetWq and pre-commit-ci[bot] committed Feb 24, 2024
1 parent 1c20921 commit 4596ec3
Show file tree
Hide file tree
Showing 6 changed files with 224 additions and 173 deletions.
30 changes: 15 additions & 15 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "Default Linux Universal",
"image": "mcr.microsoft.com/devcontainers/universal:2-linux",
"features": {
"ghcr.io/devcontainers-contrib/features/pdm:2": {},
"ghcr.io/devcontainers-contrib/features/pdm:2": {}
},
"postCreateCommand": "pdm config venv.in_project true && pdm sync -G:all && pdm run pre-commit install",
"customizations": {
Expand All @@ -15,31 +15,31 @@
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.codeActionsOnSave": {
"source.fixAll.ruff": true,
"source.organizeImports": true,
},
"source.organizeImports": true
}
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.exclude": {
"**/__pycache__": true,
"**/__pycache__": true
},
"files.watcherExclude": {
"**/target/**": true,
"**/__pycache__": true,
},
"**/__pycache__": true
}
},
"extensions": [
"ms-python.python",
Expand All @@ -48,8 +48,8 @@
"ms-python.black-formatter",
"charliermarsh.ruff",
"EditorConfig.EditorConfig",
"esbenp.prettier-vscode",
],
},
},
"esbenp.prettier-vscode"
]
}
}
}
11 changes: 6 additions & 5 deletions nonebot/adapters/console/adapter.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import sys
import asyncio
from typing_extensions import override
from typing import Any, Dict, List, Callable, Optional, Awaitable

from textual.color import Color
from nonebot.drivers import Driver
from nonebot.typing import overrides
from nonechat import Frontend, ConsoleSetting

from nonebot import get_plugin_config
from nonebot.adapters import Adapter as BaseAdapter

from . import BOT_ID
Expand All @@ -17,10 +18,10 @@


class Adapter(BaseAdapter):
@overrides(BaseAdapter)
@override
def __init__(self, driver: Driver, **kwargs: Any) -> None:
super().__init__(driver, **kwargs)
self.console_config = Config.parse_obj(self.config)
self.console_config = get_plugin_config(Config)
self.bot = Bot(self, BOT_ID)

self._task: Optional[asyncio.Task] = None
Expand All @@ -31,7 +32,7 @@ def __init__(self, driver: Driver, **kwargs: Any) -> None:
self.setup()

@staticmethod
@overrides(BaseAdapter)
@override
def get_name() -> str:
return "Console"

Expand Down Expand Up @@ -63,6 +64,6 @@ async def _shutdown(self) -> None:
def post_event(self, event: Event) -> None:
asyncio.create_task(self.bot.handle_event(event))

@overrides(BaseAdapter)
@override
async def _call_api(self, bot: Bot, api: str, **data: Any) -> None:
await self._frontend.call(api, data)
4 changes: 2 additions & 2 deletions nonebot/adapters/console/bot.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import re
from typing_extensions import override
from typing import TYPE_CHECKING, Any, Union

from nonebot.typing import overrides
from nonebot.message import handle_event
from nonechat.message import Text, Emoji, Markup, Markdown, ConsoleMessage

Expand Down Expand Up @@ -38,7 +38,7 @@ async def bell(self) -> None: ...
def type(self) -> str:
return "Console"

@overrides(BaseBot)
@override
async def send(
self,
event: Event,
Expand Down
26 changes: 13 additions & 13 deletions nonebot/adapters/console/event.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from datetime import datetime
from typing import List, Literal
from typing_extensions import override

from nonechat.info import User
from nonebot.typing import overrides
from nonebot.utils import escape_tag

from nonebot.adapters import Event as BaseEvent
Expand All @@ -16,31 +16,31 @@ class Event(BaseEvent):
post_type: str
user: User

@overrides(BaseEvent)
@override
def get_type(self) -> str:
return self.post_type

@overrides(BaseEvent)
@override
def get_event_name(self) -> str:
return self.post_type

@overrides(BaseEvent)
@override
def get_event_description(self) -> str:
return str(self.dict())

@overrides(BaseEvent)
@override
def get_message(self) -> Message:
raise ValueError("Event has no message!")

@overrides(BaseEvent)
@override
def get_user_id(self) -> str:
raise ValueError("Event has no user_id!")

@overrides(BaseEvent)
@override
def get_session_id(self) -> str:
raise ValueError("Event has no session_id!")

@overrides(BaseEvent)
@override
def is_tome(self) -> bool:
"""获取事件是否与机器人有关的方法。"""
return True
Expand All @@ -50,23 +50,23 @@ class MessageEvent(Event):
post_type: Literal["message"] = "message"
message: Message

@overrides(Event)
@override
def get_user_id(self) -> str:
return self.user.nickname

@overrides(Event)
@override
def get_message(self) -> Message:
return self.message

@overrides(Event)
@override
def get_session_id(self) -> str:
return self.user.nickname

@overrides(Event)
@override
def is_tome(self) -> bool:
return True

@overrides(Event)
@override
def get_event_description(self) -> str:
texts: List[str] = []
msg_string: List[str] = []
Expand Down
Loading

0 comments on commit 4596ec3

Please sign in to comment.