👽 Update zzz stat and note models

This commit is contained in:
xtaodada 2024-11-08 13:45:27 +08:00
parent b8bb24ad79
commit 7450006126
Signed by: xtaodada
GPG Key ID: 4CBB3F4FA8C85659
3 changed files with 42 additions and 1 deletions

View File

@ -102,6 +102,21 @@ class ZZZNoteSurveyPoints(APIModel):
is_max_level: bool
class ZZZNoteWeeklyTask(APIModel):
"""
Represents a weekly task in the ZZZ Note.
Attributes:
max_point (int): The maximum points for the weekly task.
cur_point (int): The current points for the weekly task.
refresh_time (datetime.timedelta): The time until the weekly task refreshes.
"""
max_point: int
cur_point: int
refresh_time: datetime.timedelta
class ZZZNote(APIModel):
"""Represents a ZZZ Note.
@ -120,6 +135,7 @@ class ZZZNote(APIModel):
card_sign: ZZZNoteCardSignState
bounty_commission: Optional[ZZZNoteBountyCommission] = None
survey_points: Optional[ZZZNoteSurveyPoints] = None
weekly_task: Optional[ZZZNoteWeeklyTask] = None
abyss_refresh: datetime.timedelta
@property

View File

@ -26,6 +26,8 @@ class ZZZStats(APIModel):
buddy_num: int
commemorative_coins_list: typing.Sequence[ZZZStatsCommemorativeCoin]
achievement_count: int
climbing_tower_layer: int
next_hundred_layer: str
class ZZZAvatarBasic(APIModel):
@ -61,6 +63,28 @@ class ZZZCatNote(APIModel):
is_lock: bool
class ZZZGameDataShow(APIModel):
"""
Represents the game data display information.
Attributes:
personal_title (str): The personal title of the user.
title_main_color (str): The main color of the title.
title_bottom_color (str): The bottom color of the title.
title_bg_url (str): The background URL of the title.
medal_list (typing.Sequence[str]): A list of medals.
card_url (str): The URL of the card.
"""
personal_title: str
title_main_color: str
title_bottom_color: str
title_bg_url: str
medal_list: typing.Sequence[str]
card_url: str
class ZZZUserStats(ZZZAvatarBasic):
"""User stats with characters without equipment."""
@ -68,3 +92,4 @@ class ZZZUserStats(ZZZAvatarBasic):
cur_head_icon_url: str
buddy_list: typing.Sequence[character.ZZZPartialBuddy]
cat_notes_list: typing.Sequence[ZZZCatNote]
game_data_show: ZZZGameDataShow

View File

@ -25,7 +25,7 @@ async def zzz_client(zzz_player_id: int, region: "Region", cookies: "Cookies", z
@pytest.mark.asyncio
class TestZZZBattleChronicleClient:
@staticmethod
async def test_get_starrail_notes(zzz_client: "ZZZBattleChronicleClient"):
async def test_get_zzz_notes(zzz_client: "ZZZBattleChronicleClient"):
notes = await zzz_client.get_zzz_notes()
assert notes is not None