mirror of
https://github.com/A-Minos/nonebot-plugin-tetris-stats.git
synced 2026-03-05 05:36:54 +08:00
🚨 make type checker happy
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
from asyncio import gather
|
from asyncio import gather
|
||||||
from datetime import datetime, timedelta, timezone
|
from datetime import datetime, timedelta, timezone
|
||||||
from hashlib import md5
|
from hashlib import md5
|
||||||
from typing import TYPE_CHECKING, TypeVar
|
from typing import TypeVar
|
||||||
|
|
||||||
from arclet.alconna import Arg, ArgFlag
|
from arclet.alconna import Arg, ArgFlag
|
||||||
from nonebot import get_driver
|
from nonebot import get_driver
|
||||||
@@ -39,16 +39,11 @@ from .. import add_block_handlers, alc
|
|||||||
from ..constant import CANT_VERIFY_MESSAGE
|
from ..constant import CANT_VERIFY_MESSAGE
|
||||||
from . import command, get_player
|
from . import command, get_player
|
||||||
from .api import Player
|
from .api import Player
|
||||||
from .api.schemas.summaries.league import LeagueSuccessModel, NeverPlayedData, NeverRatedData
|
from .api.schemas.summaries.league import NeverPlayedData, NeverRatedData
|
||||||
from .constant import GAME_TYPE
|
from .constant import GAME_TYPE
|
||||||
from .models import TETRIOUserConfig
|
from .models import TETRIOUserConfig
|
||||||
from .typing import Template
|
from .typing import Template
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
|
||||||
from .api.schemas.summaries import SoloSuccessModel, ZenSuccessModel
|
|
||||||
from .api.schemas.user import User
|
|
||||||
from .api.schemas.user_info import UserInfoSuccess
|
|
||||||
|
|
||||||
UTC = timezone.utc
|
UTC = timezone.utc
|
||||||
|
|
||||||
driver = get_driver()
|
driver = get_driver()
|
||||||
@@ -154,26 +149,13 @@ def handling_special_value(value: N) -> N | None:
|
|||||||
|
|
||||||
|
|
||||||
async def make_query_image_v2(player: Player) -> bytes:
|
async def make_query_image_v2(player: Player) -> bytes:
|
||||||
user: User
|
(
|
||||||
user_info: UserInfoSuccess
|
(user, user_info, league, sprint, blitz, zen),
|
||||||
league: LeagueSuccessModel
|
(avatar_revision, banner_revision),
|
||||||
sprint: SoloSuccessModel
|
) = await gather(
|
||||||
blitz: SoloSuccessModel
|
gather(player.user, player.get_info(), player.league, player.sprint, player.blitz, player.zen),
|
||||||
zen: ZenSuccessModel
|
gather(player.avatar_revision, player.banner_revision),
|
||||||
avatar_revision: int | None
|
|
||||||
banner_revision: int | None
|
|
||||||
# TODO)) 有没有什么办法能让这类型推导成功)
|
|
||||||
user, user_info, league, sprint, blitz, zen, avatar_revision, banner_revision = await gather( # type: ignore[assignment]
|
|
||||||
player.user,
|
|
||||||
player.get_info(),
|
|
||||||
player.league,
|
|
||||||
player.sprint,
|
|
||||||
player.blitz,
|
|
||||||
player.zen,
|
|
||||||
player.avatar_revision,
|
|
||||||
player.banner_revision,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if sprint.data.record is not None:
|
if sprint.data.record is not None:
|
||||||
duration = timedelta(milliseconds=sprint.data.record.results.stats.finaltime).total_seconds()
|
duration = timedelta(milliseconds=sprint.data.record.results.stats.finaltime).total_seconds()
|
||||||
sprint_value = f'{duration:.3f}s' if duration < 60 else f'{duration // 60:.0f}m {duration % 60:.3f}s' # noqa: PLR2004
|
sprint_value = f'{duration:.3f}s' if duration < 60 else f'{duration // 60:.0f}m {duration % 60:.3f}s' # noqa: PLR2004
|
||||||
|
|||||||
Reference in New Issue
Block a user