diff --git a/zhenxun/builtin_plugins/shop/_data_source.py b/zhenxun/builtin_plugins/shop/_data_source.py index eb2915bd..b5d693b4 100644 --- a/zhenxun/builtin_plugins/shop/_data_source.py +++ b/zhenxun/builtin_plugins/shop/_data_source.py @@ -1,6 +1,5 @@ import asyncio from collections.abc import Callable -from dataclasses import field from datetime import datetime, timedelta import inspect import time @@ -11,7 +10,7 @@ from nonebot.adapters import Bot, Event from nonebot.compat import model_dump from nonebot_plugin_alconna import UniMessage, UniMsg from nonebot_plugin_uninfo import Uninfo -from pydantic import BaseModel, create_model +from pydantic import BaseModel, Field, create_model from tortoise.expressions import Q from zhenxun.models.friend_user import FriendUser @@ -33,9 +32,9 @@ from .normal_image import normal_image class Goods(BaseModel): name: str """商品名称""" - before_handle: list[Callable] = field(default_factory=list) + before_handle: list[Callable] = Field(default_factory=list) """使用前函数""" - after_handle: list[Callable] = field(default_factory=list) + after_handle: list[Callable] = Field(default_factory=list) """使用后函数""" func: Callable | None = None """使用函数""" diff --git a/zhenxun/builtin_plugins/web_ui/api/tabs/manage/model.py b/zhenxun/builtin_plugins/web_ui/api/tabs/manage/model.py index cdb7ed75..7149cee1 100644 --- a/zhenxun/builtin_plugins/web_ui/api/tabs/manage/model.py +++ b/zhenxun/builtin_plugins/web_ui/api/tabs/manage/model.py @@ -1,7 +1,5 @@ -from dataclasses import field - from nonebot.compat import model_dump -from pydantic import BaseModel +from pydantic import BaseModel, Field from zhenxun.utils.enum import RequestType @@ -174,9 +172,9 @@ class ReqResult(BaseModel): 好友/群组请求列表 """ - friend: list[FriendRequestResult] = field(default_factory=list) + friend: list[FriendRequestResult] = Field(default_factory=list) """好友请求列表""" - group: list[GroupRequestResult] = field(default_factory=list) + group: list[GroupRequestResult] = Field(default_factory=list) """群组请求列表""" diff --git a/zhenxun/configs/config.py b/zhenxun/configs/config.py index c51818ab..83937201 100644 --- a/zhenxun/configs/config.py +++ b/zhenxun/configs/config.py @@ -1,8 +1,7 @@ -from dataclasses import field from pathlib import Path import nonebot -from pydantic import BaseModel +from pydantic import BaseModel, Field from .utils import ConfigsManager @@ -16,9 +15,9 @@ class BotSetting(BaseModel): """系统代理""" db_url: str = "" """数据库链接""" - platform_superusers: dict[str, list[str]] = field(default_factory=dict) + platform_superusers: dict[str, list[str]] = Field(default_factory=dict) """平台超级用户""" - qbot_id_data: dict[str, str] = field(default_factory=dict) + qbot_id_data: dict[str, str] = Field(default_factory=dict) """官bot id:账号id""" def get_qbot_uid(self, qbot_id: str) -> str | None: diff --git a/zhenxun/configs/utils/__init__.py b/zhenxun/configs/utils/__init__.py index 8477d6bb..86eea803 100644 --- a/zhenxun/configs/utils/__init__.py +++ b/zhenxun/configs/utils/__init__.py @@ -1,13 +1,12 @@ from collections.abc import Callable import copy -from dataclasses import field from datetime import datetime from pathlib import Path from typing import Any, Literal import cattrs from nonebot.compat import model_dump -from pydantic import BaseModel +from pydantic import BaseModel, Field from ruamel.yaml import YAML from ruamel.yaml.scanner import ScannerError @@ -38,11 +37,11 @@ class Command(BaseModel): command: str """命令名称""" - params: list[str] = field(default_factory=list) + params: list[str] = Field(default_factory=list) """参数""" description: str = "" """描述""" - examples: list[Example] = field(default_factory=list) + examples: list[Example] = Field(default_factory=list) """示例列表""" @@ -96,7 +95,7 @@ class ConfigGroup(BaseModel): """模块名""" name: str | None = None """插件名""" - configs: dict[str, ConfigModel] = field(default_factory=dict) + configs: dict[str, ConfigModel] = Field(default_factory=dict) """配置项列表""" def get(self, c: str, default: Any = None) -> Any: @@ -209,7 +208,7 @@ class Task(BaseBlock): """运行函数""" check: Callable | None = None """检查函数""" - check_args: list = field(default_factory=list) + check_args: list = Field(default_factory=list) """检查函数参数""" @@ -234,7 +233,7 @@ class PluginExtraData(BaseModel): """插件基本配置""" limits: list[BaseBlock | PluginCdBlock | PluginCountBlock] | None = None """插件限制""" - commands: list[Command] = field(default_factory=list) + commands: list[Command] = Field(default_factory=list) """命令列表,用于说明帮助""" ignore_prompt: bool = False """是否忽略阻断提示""" @@ -242,7 +241,7 @@ class PluginExtraData(BaseModel): """技能被动""" superuser_help: str | None = None """超级用户帮助""" - aliases: set[str] = field(default_factory=set) + aliases: set[str] = Field(default_factory=set) """额外名称""" sql_list: list[str] | None = None """常用sql""" diff --git a/zhenxun/utils/_build_mat.py b/zhenxun/utils/_build_mat.py index ce8193ba..de73e69d 100644 --- a/zhenxun/utils/_build_mat.py +++ b/zhenxun/utils/_build_mat.py @@ -1,9 +1,8 @@ -from dataclasses import field from io import BytesIO from pathlib import Path import random -from pydantic import BaseModel +from pydantic import BaseModel, Field from strenum import StrEnum from ._build_image import BuildImage @@ -21,15 +20,15 @@ class MatType(StrEnum): class BuildMatData(BaseModel): mat_type: MatType """类型""" - data: list[int | float] = field(default_factory=list) + data: list[int | float] = Field(default_factory=list) """数据""" x_name: str | None = None """X轴坐标名称""" y_name: str | None = None """Y轴坐标名称""" - x_index: list[str] = field(default_factory=list) + x_index: list[str] = Field(default_factory=list) """显示轴坐标值""" - y_index: list[int | float] = field(default_factory=list) + y_index: list[int | float] = Field(default_factory=list) """数据轴坐标值""" space: tuple[int, int] = (20, 20) """坐标值间隔(X, Y)""" @@ -49,7 +48,7 @@ class BuildMatData(BaseModel): """背景颜色""" background: Path | bytes | None = None """背景图片""" - bar_color: list[str] = field(default_factory=lambda: ["*"]) + bar_color: list[str] = Field(default_factory=lambda: ["*"]) """柱状图柱子颜色, 多个时随机, 使用 * 时七色随机""" padding: tuple[int, int] = (50, 50) """图表上下左右边距""" diff --git a/zhenxun/utils/decorator/shop.py b/zhenxun/utils/decorator/shop.py index a0490872..408b7e1f 100644 --- a/zhenxun/utils/decorator/shop.py +++ b/zhenxun/utils/decorator/shop.py @@ -1,16 +1,15 @@ from collections.abc import Callable -from dataclasses import field from nonebot.adapters.onebot.v11 import Message, MessageSegment from nonebot.plugin import require -from pydantic import BaseModel +from pydantic import BaseModel, Field from zhenxun.models.goods_info import GoodsInfo class Goods(BaseModel): - before_handle: list[Callable] = field(default_factory=list) - after_handle: list[Callable] = field(default_factory=list) + before_handle: list[Callable] = Field(default_factory=list) + after_handle: list[Callable] = Field(default_factory=list) price: int des: str = "" discount: float @@ -20,7 +19,7 @@ class Goods(BaseModel): is_passive: bool partition: str | None func: Callable - kwargs: dict[str, str] = field(default_factory=dict) + kwargs: dict[str, str] = Field(default_factory=dict) send_success_msg: bool max_num_limit: int diff --git a/zhenxun/utils/github_utils/models.py b/zhenxun/utils/github_utils/models.py index 4eab3a6d..d21c2387 100644 --- a/zhenxun/utils/github_utils/models.py +++ b/zhenxun/utils/github_utils/models.py @@ -1,9 +1,8 @@ -from dataclasses import field from typing import Protocol from aiocache import cached from nonebot.compat import model_dump -from pydantic import BaseModel +from pydantic import BaseModel, Field from strenum import StrEnum from zhenxun.utils.http_utils import AsyncHttpx @@ -100,7 +99,7 @@ class FileInfo(BaseModel): type: FileType name: str - files: list["FileInfo"] = field(default_factory=list) + files: list["FileInfo"] = Field(default_factory=list) class JsdelivrStrategy: