mirror of
https://github.com/A-Minos/nonebot-plugin-tetris-stats.git
synced 2026-03-05 05:36:54 +08:00
🧑💻 使用 uv 管理项目 (#502)
* 🧑💻 使用 uv 管理项目 * 📝 更新 CONTRIBUTING.md * 🔥 移除 Dependabot * ✨ 修改默认安装的依赖组 * 💚 使用 uv 运行 CI * ➕ 将特殊适配的适配器移动到 dev 依赖组 * 🚨 make mypy happy
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
from functools import partial
|
||||
from typing import Literal
|
||||
|
||||
from nonebot.compat import PYDANTIC_V2
|
||||
@@ -9,13 +8,9 @@ from ..base import SuccessModel
|
||||
|
||||
if PYDANTIC_V2:
|
||||
from pydantic import field_validator
|
||||
|
||||
custom_validator = partial(field_validator, mode='before')
|
||||
else:
|
||||
from pydantic import validator
|
||||
|
||||
custom_validator = partial(validator, pre=True, always=True) # type: ignore[assignment, arg-type]
|
||||
|
||||
|
||||
class PastInner(BaseModel):
|
||||
season: str
|
||||
@@ -86,12 +81,23 @@ class NeverRatedData(BaseData):
|
||||
percentile: Literal[-1]
|
||||
percentile_rank: Literal['z']
|
||||
|
||||
@custom_validator('apm', 'pps', 'vs')
|
||||
@classmethod
|
||||
def _(cls, value: float | None) -> float:
|
||||
if value is None:
|
||||
return 0
|
||||
return value
|
||||
if PYDANTIC_V2:
|
||||
|
||||
@field_validator('apm', 'pps', 'vs', mode='before')
|
||||
@classmethod
|
||||
def _(cls, value: float | None) -> float:
|
||||
if value is None:
|
||||
return 0
|
||||
return value
|
||||
|
||||
else:
|
||||
|
||||
@validator('apm', 'pps', 'vs', pre=True, always=True)
|
||||
@classmethod
|
||||
def _(cls, value: float | None) -> float:
|
||||
if value is None:
|
||||
return 0
|
||||
return value
|
||||
|
||||
|
||||
class RatedData(BaseData):
|
||||
|
||||
Reference in New Issue
Block a user