适配新模板

This commit is contained in:
2024-08-04 19:22:36 +08:00
parent b74cc1f4a0
commit 6f439ad357
5 changed files with 30 additions and 32 deletions

View File

@@ -81,6 +81,7 @@ async def make_blitz_image(player: Player) -> bytes:
page=await render( page=await render(
'v2/tetrio/record/blitz', 'v2/tetrio/record/blitz',
Record( Record(
type='personal_best',
user=User( user=User(
id=user.ID, id=user.ID,
name=user.name.upper(), name=user.name.upper(),
@@ -93,6 +94,7 @@ async def make_blitz_image(player: Player) -> bytes:
), ),
replay_id=blitz.data.record.replayid, replay_id=blitz.data.record.replayid,
rank=blitz.data.rank, rank=blitz.data.rank,
personal_rank=1,
statistic=Statistic( statistic=Statistic(
keys=stats.inputs, keys=stats.inputs,
kpp=round(stats.inputs / stats.piecesplaced, 2), kpp=round(stats.inputs / stats.piecesplaced, 2),

View File

@@ -18,8 +18,8 @@ from ....utils.host import HostPage, get_self_netloc
from ....utils.metrics import get_metrics from ....utils.metrics import get_metrics
from ....utils.render import render from ....utils.render import render
from ....utils.render.schemas.base import Avatar from ....utils.render.schemas.base import Avatar
from ....utils.render.schemas.tetrio.tetrio_record_base import Finesse, Max, Mini, Tspins, User from ....utils.render.schemas.tetrio.tetrio_record_base import Finesse, Max, Mini, Statistic, Tspins, User
from ....utils.render.schemas.tetrio.tetrio_record_sprint import Record, Statistic from ....utils.render.schemas.tetrio.tetrio_record_sprint import Record
from ....utils.screenshot import screenshot from ....utils.screenshot import screenshot
from ....utils.typing import Me from ....utils.typing import Me
from ...constant import CANT_VERIFY_MESSAGE from ...constant import CANT_VERIFY_MESSAGE
@@ -82,6 +82,7 @@ async def make_sprint_image(player: Player) -> bytes:
page=await render( page=await render(
'v2/tetrio/record/40l', 'v2/tetrio/record/40l',
Record( Record(
type='personal_best',
user=User( user=User(
id=user.ID, id=user.ID,
name=user.name.upper(), name=user.name.upper(),
@@ -95,6 +96,7 @@ async def make_sprint_image(player: Player) -> bytes:
time=sprint_value, time=sprint_value,
replay_id=sprint.data.record.replayid, replay_id=sprint.data.record.replayid,
rank=sprint.data.rank, rank=sprint.data.rank,
personal_rank=1,
statistic=Statistic( statistic=Statistic(
keys=stats.inputs, keys=stats.inputs,
kpp=round(stats.inputs / stats.piecesplaced, 2), kpp=round(stats.inputs / stats.piecesplaced, 2),

View File

@@ -1,3 +1,6 @@
from datetime import datetime
from typing import Literal
from pydantic import BaseModel from pydantic import BaseModel
from ..base import People from ..base import People
@@ -32,7 +35,7 @@ class Finesse(BaseModel):
accuracy: float accuracy: float
class RecordStatistic(BaseModel): class Statistic(BaseModel):
keys: int keys: int
kpp: float kpp: float
kps: float kps: float
@@ -56,3 +59,17 @@ class RecordStatistic(BaseModel):
all_clear: int all_clear: int
finesse: Finesse finesse: Finesse
class Record(BaseModel):
type: Literal['best', 'personal_best', 'recent', 'disputed']
user: User
replay_id: str
rank: int | None
personal_rank: int | None
statistic: Statistic
play_at: datetime

View File

@@ -1,22 +1,12 @@
from datetime import datetime from .tetrio_record_base import Record as BaseRecord
from .tetrio_record_base import Statistic as BaseStatistic
from pydantic import BaseModel
from .tetrio_record_base import RecordStatistic, User
class Statistic(RecordStatistic): class Statistic(BaseStatistic):
spp: float spp: float
level: int level: int
class Record(BaseModel): class Record(BaseRecord):
user: User
replay_id: str
rank: int | None
statistic: Statistic statistic: Statistic
play_at: datetime

View File

@@ -1,18 +1,5 @@
from datetime import datetime from .tetrio_record_base import Record as BaseRecord
from pydantic import BaseModel
from .tetrio_record_base import RecordStatistic as Statistic
from .tetrio_record_base import User
class Record(BaseModel): class Record(BaseRecord):
user: User
time: str time: str
replay_id: str
rank: int | None
statistic: Statistic
play_at: datetime