🚑 修复field在pyd1下报错 (#1842)

* 🚑 修复field在pyd1下报错

* 🐛 修正字段
This commit is contained in:
HibiKier 2025-02-04 02:15:21 +08:00 committed by GitHub
parent 4ed1791b30
commit 5fd746a52a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 27 additions and 35 deletions

View File

@ -1,6 +1,5 @@
import asyncio import asyncio
from collections.abc import Callable from collections.abc import Callable
from dataclasses import field
from datetime import datetime, timedelta from datetime import datetime, timedelta
import inspect import inspect
import time import time
@ -11,7 +10,7 @@ from nonebot.adapters import Bot, Event
from nonebot.compat import model_dump from nonebot.compat import model_dump
from nonebot_plugin_alconna import UniMessage, UniMsg from nonebot_plugin_alconna import UniMessage, UniMsg
from nonebot_plugin_uninfo import Uninfo 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 tortoise.expressions import Q
from zhenxun.models.friend_user import FriendUser from zhenxun.models.friend_user import FriendUser
@ -33,9 +32,9 @@ from .normal_image import normal_image
class Goods(BaseModel): class Goods(BaseModel):
name: str 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 func: Callable | None = None
"""使用函数""" """使用函数"""

View File

@ -1,7 +1,5 @@
from dataclasses import field
from nonebot.compat import model_dump from nonebot.compat import model_dump
from pydantic import BaseModel from pydantic import BaseModel, Field
from zhenxun.utils.enum import RequestType 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)
"""群组请求列表""" """群组请求列表"""

View File

@ -1,8 +1,7 @@
from dataclasses import field
from pathlib import Path from pathlib import Path
import nonebot import nonebot
from pydantic import BaseModel from pydantic import BaseModel, Field
from .utils import ConfigsManager from .utils import ConfigsManager
@ -16,9 +15,9 @@ class BotSetting(BaseModel):
"""系统代理""" """系统代理"""
db_url: str = "" 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""" """官bot id:账号id"""
def get_qbot_uid(self, qbot_id: str) -> str | None: def get_qbot_uid(self, qbot_id: str) -> str | None:

View File

@ -1,13 +1,12 @@
from collections.abc import Callable from collections.abc import Callable
import copy import copy
from dataclasses import field
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
from typing import Any, Literal from typing import Any, Literal
import cattrs import cattrs
from nonebot.compat import model_dump from nonebot.compat import model_dump
from pydantic import BaseModel from pydantic import BaseModel, Field
from ruamel.yaml import YAML from ruamel.yaml import YAML
from ruamel.yaml.scanner import ScannerError from ruamel.yaml.scanner import ScannerError
@ -38,11 +37,11 @@ class Command(BaseModel):
command: str command: str
"""命令名称""" """命令名称"""
params: list[str] = field(default_factory=list) params: list[str] = Field(default_factory=list)
"""参数""" """参数"""
description: str = "" 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 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: def get(self, c: str, default: Any = None) -> Any:
@ -209,7 +208,7 @@ class Task(BaseBlock):
"""运行函数""" """运行函数"""
check: Callable | None = None 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 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 ignore_prompt: bool = False
"""是否忽略阻断提示""" """是否忽略阻断提示"""
@ -242,7 +241,7 @@ class PluginExtraData(BaseModel):
"""技能被动""" """技能被动"""
superuser_help: str | None = None 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_list: list[str] | None = None
"""常用sql""" """常用sql"""

View File

@ -1,9 +1,8 @@
from dataclasses import field
from io import BytesIO from io import BytesIO
from pathlib import Path from pathlib import Path
import random import random
from pydantic import BaseModel from pydantic import BaseModel, Field
from strenum import StrEnum from strenum import StrEnum
from ._build_image import BuildImage from ._build_image import BuildImage
@ -21,15 +20,15 @@ class MatType(StrEnum):
class BuildMatData(BaseModel): class BuildMatData(BaseModel):
mat_type: MatType 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_name: str | None = None
"""X轴坐标名称""" """X轴坐标名称"""
y_name: str | None = None y_name: str | None = None
"""Y轴坐标名称""" """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) space: tuple[int, int] = (20, 20)
"""坐标值间隔(X, Y)""" """坐标值间隔(X, Y)"""
@ -49,7 +48,7 @@ class BuildMatData(BaseModel):
"""背景颜色""" """背景颜色"""
background: Path | bytes | None = None 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) padding: tuple[int, int] = (50, 50)
"""图表上下左右边距""" """图表上下左右边距"""

View File

@ -1,16 +1,15 @@
from collections.abc import Callable from collections.abc import Callable
from dataclasses import field
from nonebot.adapters.onebot.v11 import Message, MessageSegment from nonebot.adapters.onebot.v11 import Message, MessageSegment
from nonebot.plugin import require from nonebot.plugin import require
from pydantic import BaseModel from pydantic import BaseModel, Field
from zhenxun.models.goods_info import GoodsInfo from zhenxun.models.goods_info import GoodsInfo
class Goods(BaseModel): class Goods(BaseModel):
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)
price: int price: int
des: str = "" des: str = ""
discount: float discount: float
@ -20,7 +19,7 @@ class Goods(BaseModel):
is_passive: bool is_passive: bool
partition: str | None partition: str | None
func: Callable func: Callable
kwargs: dict[str, str] = field(default_factory=dict) kwargs: dict[str, str] = Field(default_factory=dict)
send_success_msg: bool send_success_msg: bool
max_num_limit: int max_num_limit: int

View File

@ -1,9 +1,8 @@
from dataclasses import field
from typing import Protocol from typing import Protocol
from aiocache import cached from aiocache import cached
from nonebot.compat import model_dump from nonebot.compat import model_dump
from pydantic import BaseModel from pydantic import BaseModel, Field
from strenum import StrEnum from strenum import StrEnum
from zhenxun.utils.http_utils import AsyncHttpx from zhenxun.utils.http_utils import AsyncHttpx
@ -100,7 +99,7 @@ class FileInfo(BaseModel):
type: FileType type: FileType
name: str name: str
files: list["FileInfo"] = field(default_factory=list) files: list["FileInfo"] = Field(default_factory=list)
class JsdelivrStrategy: class JsdelivrStrategy: