From 93b169fa40c7b3c6c4f84917ef1e0b79ff1441bb Mon Sep 17 00:00:00 2001 From: shoucandanghehe Date: Tue, 30 Apr 2024 02:27:08 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D=E5=AF=B9=20Py?= =?UTF-8?q?dantic=20V1=20=E7=9A=84=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nonebot_plugin_tetris_stats/db/models.py | 3 ++- .../game_data_processor/tos_data_processor/processor.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/nonebot_plugin_tetris_stats/db/models.py b/nonebot_plugin_tetris_stats/db/models.py index 870a8c7..cec2a5b 100644 --- a/nonebot_plugin_tetris_stats/db/models.py +++ b/nonebot_plugin_tetris_stats/db/models.py @@ -3,6 +3,7 @@ from datetime import datetime from typing import Any from nonebot.adapters import Message +from nonebot.compat import type_validate_json from nonebot_plugin_orm import Model from pydantic import BaseModel, ValidationError from sqlalchemy import JSON, DateTime, Dialect, PickleType, String, TypeDecorator @@ -30,7 +31,7 @@ class PydanticType(TypeDecorator): if isinstance(value, str | bytes): for i in self.get_model(): try: - return i.model_validate_json(value) + return type_validate_json(i, value) except ValidationError: # noqa: PERF203 ... raise TypeError diff --git a/nonebot_plugin_tetris_stats/game_data_processor/tos_data_processor/processor.py b/nonebot_plugin_tetris_stats/game_data_processor/tos_data_processor/processor.py index a2131d4..14724a4 100644 --- a/nonebot_plugin_tetris_stats/game_data_processor/tos_data_processor/processor.py +++ b/nonebot_plugin_tetris_stats/game_data_processor/tos_data_processor/processor.py @@ -155,8 +155,8 @@ class Processor(ProcessorMeta): failover_code=[502], failover_exc=(TimeoutException,), ) - self.processed_data.user_profile[params] = UserProfile.model_validate_json( - self.raw_response.user_profile[params] + self.processed_data.user_profile[params] = type_validate_json( + UserProfile, self.raw_response.user_profile[params] ) return self.processed_data.user_profile[params]