diff --git a/genshin/models/genshin/chronicle/notes.py b/genshin/models/genshin/chronicle/notes.py index a92357f7..41d045be 100644 --- a/genshin/models/genshin/chronicle/notes.py +++ b/genshin/models/genshin/chronicle/notes.py @@ -45,6 +45,10 @@ class Expedition(APIModel): status: typing.Literal["Ongoing", "Finished"] remaining_time: datetime.timedelta = Aliased("remained_time") + @pydantic.field_validator("remaining_time", mode="before") + def __process_timedelta(cls, v: str) -> datetime.timedelta: + return datetime.timedelta(seconds=int(v)) + @property def finished(self) -> bool: """Whether the expedition has finished.""" @@ -191,6 +195,10 @@ class Notes(APIModel): archon_quest_progress: ArchonQuestProgress + @pydantic.field_validator("remaining_resin_recovery_time", "remaining_realm_currency_recovery_time", mode="before") + def __process_timedelta(cls, v: str) -> datetime.timedelta: + return datetime.timedelta(seconds=int(v)) + @property def resin_recovery_time(self) -> datetime.datetime: """The time when resin will be recovered."""