Skip to content

Commit

Permalink
Adds Encounter Points (#147)
Browse files Browse the repository at this point in the history
Co-authored-by: KT <[email protected]>
  • Loading branch information
kgirtxd and KT-Yeh authored Sep 30, 2023
1 parent 509af83 commit de07439
Showing 1 changed file with 53 additions and 1 deletion.
54 changes: 53 additions & 1 deletion genshin/models/genshin/chronicle/notes.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Genshin chronicle notes."""
import datetime
import enum
import typing

if typing.TYPE_CHECKING:
Expand All @@ -12,7 +13,15 @@

from genshin.models.model import Aliased, APIModel

__all__ = ["Expedition", "Notes"]
__all__ = [
"Expedition",
"TaskRewardStatus",
"TaskReward",
"AttendanceRewardStatus",
"AttendanceReward",
"DailyTasks",
"Notes"
]


def _process_timedelta(time: typing.Union[int, datetime.timedelta, datetime.datetime]) -> datetime.datetime:
Expand Down Expand Up @@ -73,6 +82,47 @@ def seconds(self) -> int:
return self.timedata[3]


class TaskRewardStatus(str, enum.Enum):
"""Task Reward Statuses."""

UNFINISHED = "TaskRewardStatusUnfinished"
FINISHED = "TaskRewardStatusFinished"


class TaskReward(APIModel):
"""Status of the Commission/Task."""

status: TaskRewardStatus


class AttendanceRewardStatus(str, enum.Enum):
"""Attendance Reward Statuses."""

AVAILABLE = "AttendanceRewardStatusWaitTaken"
COLLECTED = "AttendanceRewardStatusTakenAward"
FORBIDDEN = "AttendanceRewardStatusForbid"
UNAVAILABLE = "AttendanceRewardStatusUnfinished"


class AttendanceReward(APIModel):
"""Status of the Encounter Point."""

status: AttendanceRewardStatus
progress: int


class DailyTasks(APIModel):
"""Daily tasks section."""

max_tasks: int = Aliased("total_num")
completed_tasks: int = Aliased("finished_num")
claimed_commission_reward: bool = Aliased("is_extra_task_reward_received")

task_rewards: typing.Sequence[TaskReward]
attendance_rewards: typing.Sequence[AttendanceReward]
attendance_visible: bool


class Notes(APIModel):
"""Real-Time notes."""

Expand Down Expand Up @@ -128,3 +178,5 @@ def __flatten_transformer(cls, values: typing.Dict[str, typing.Any]) -> typing.D
values["remaining_transformer_recovery_time"] = None

return values

daily_task: DailyTasks

0 comments on commit de07439

Please sign in to comment.