Skip to content

Commit

Permalink
Merge branch 'master' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
seriaati authored Sep 22, 2024
2 parents 39597d6 + cfa263c commit b20dec3
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 23 deletions.
8 changes: 4 additions & 4 deletions genshin/client/components/chronicle/genshin.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ async def _request_genshin_record(
method: str = "GET",
lang: typing.Optional[str] = None,
payload: typing.Optional[typing.Mapping[str, typing.Any]] = None,
cache: bool = True,
cache: bool = False,
) -> typing.Mapping[str, typing.Any]:
"""Get an arbitrary honkai object."""
payload = dict(payload or {})
Expand Down Expand Up @@ -173,7 +173,7 @@ async def get_genshin_notes(
) -> models.Notes:
"""Get genshin real-time notes."""
try:
data = await self._request_genshin_record("dailyNote", uid, lang=lang, cache=False)
data = await self._request_genshin_record("dailyNote", uid, lang=lang)
except errors.DataNotPublic as e:
# error raised only when real-time notes are not enabled
if uid and (await self._get_uid(types.Game.GENSHIN)) != uid:
Expand All @@ -182,7 +182,7 @@ async def get_genshin_notes(
raise errors.GenshinException(e.response, "Real-time notes are not enabled.") from e

await self.update_settings(3, True, game=types.Game.GENSHIN)
data = await self._request_genshin_record("dailyNote", uid, lang=lang, cache=False)
data = await self._request_genshin_record("dailyNote", uid, lang=lang)

return models.Notes(**data)

Expand Down Expand Up @@ -215,7 +215,7 @@ async def _get_genshin_tcg_page(
limit=limit,
need_stats="false",
)
data = await self._request_genshin_record("gcg/cardList", uid, lang=lang, payload=params, cache=False)
data = await self._request_genshin_record("gcg/cardList", uid, lang=lang, payload=params)
return [
(models.TCGCharacterCard(**i) if i["card_type"] == models.TCGCardType.CHARACTER else models.TCGCard(**i))
for i in data["card_list"]
Expand Down
2 changes: 1 addition & 1 deletion genshin/client/components/chronicle/honkai.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ async def _request_honkai_record(
uid: typing.Optional[int] = None,
*,
lang: typing.Optional[str] = None,
cache: bool = True,
cache: bool = False,
) -> typing.Mapping[str, typing.Any]:
"""Get an arbitrary honkai object."""
uid = uid or await self._get_uid(types.Game.HONKAI)
Expand Down
6 changes: 3 additions & 3 deletions genshin/client/components/chronicle/starrail.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ async def _request_starrail_record(
method: str = "GET",
lang: typing.Optional[str] = None,
payload: typing.Optional[typing.Mapping[str, typing.Any]] = None,
cache: bool = True,
cache: bool = False,
) -> typing.Mapping[str, typing.Any]:
"""Get an arbitrary starrail object."""
payload = dict(payload or {})
Expand Down Expand Up @@ -66,7 +66,7 @@ async def get_starrail_notes(
) -> models.StarRailNote:
"""Get starrail real-time notes."""
try:
data = await self._request_starrail_record("note", uid, lang=lang, cache=False)
data = await self._request_starrail_record("note", uid, lang=lang)
except errors.DataNotPublic as e:
# error raised only when real-time notes are not enabled
if uid and (await self._get_uid(types.Game.STARRAIL)) != uid:
Expand All @@ -75,7 +75,7 @@ async def get_starrail_notes(
raise errors.GenshinException(e.response, "Real-time notes are not enabled.") from e

await self.update_settings(3, True, game=types.Game.STARRAIL)
data = await self._request_starrail_record("note", uid, lang=lang, cache=False)
data = await self._request_starrail_record("note", uid, lang=lang)

return models.StarRailNote(**data)

Expand Down
12 changes: 6 additions & 6 deletions genshin/client/components/chronicle/zzz.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ async def _request_zzz_record(
method: str = "GET",
lang: typing.Optional[str] = None,
payload: typing.Optional[typing.Mapping[str, typing.Any]] = None,
cache: bool = True,
cache: bool = False,
) -> typing.Mapping[str, typing.Any]:
"""Get an arbitrary ZZZ object."""
payload = dict(payload or {})
Expand Down Expand Up @@ -65,7 +65,7 @@ async def get_zzz_notes(
) -> models.ZZZNotes:
"""Get ZZZ sticky notes (real-time notes)."""
try:
data = await self._request_zzz_record("note", uid, lang=lang, cache=False)
data = await self._request_zzz_record("note", uid, lang=lang)
except errors.DataNotPublic as e:
# error raised only when real-time notes are not enabled
if uid and (await self._get_uid(types.Game.ZZZ)) != uid:
Expand All @@ -74,7 +74,7 @@ async def get_zzz_notes(
raise errors.GenshinException(e.response, "Real-time notes are not enabled.") from e

await self.update_settings(3, True, game=types.Game.ZZZ)
data = await self._request_zzz_record("note", uid, lang=lang, cache=False)
data = await self._request_zzz_record("note", uid, lang=lang)

return models.ZZZNotes(**data)

Expand All @@ -85,21 +85,21 @@ async def get_zzz_user(
lang: typing.Optional[str] = None,
) -> models.ZZZUserStats:
"""Get ZZZ user stats."""
data = await self._request_zzz_record("index", uid, lang=lang, cache=False)
data = await self._request_zzz_record("index", uid, lang=lang)
return models.ZZZUserStats(**data)

async def get_zzz_agents(
self, uid: typing.Optional[int] = None, *, lang: typing.Optional[str] = None
) -> typing.Sequence[models.ZZZPartialAgent]:
"""Get all owned ZZZ characters (only brief info)."""
data = await self._request_zzz_record("avatar/basic", uid, lang=lang, cache=False)
data = await self._request_zzz_record("avatar/basic", uid, lang=lang)
return [models.ZZZPartialAgent(**item) for item in data["avatar_list"]]

async def get_bangboos(
self, uid: typing.Optional[int] = None, *, lang: typing.Optional[str] = None
) -> typing.Sequence[models.ZZZBaseBangboo]:
"""Get all owned ZZZ bangboos."""
data = await self._request_zzz_record("buddy/info", uid, lang=lang, cache=False)
data = await self._request_zzz_record("buddy/info", uid, lang=lang)
return [models.ZZZBaseBangboo(**item) for item in data["list"]]

@typing.overload
Expand Down
18 changes: 9 additions & 9 deletions genshin/models/zzz/chronicle/challenge.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,24 +47,24 @@ def icon(self) -> str:
class ShiyuDefenseBuff(APIModel):
"""Shiyu Defense buff model."""

title: str
text: str
name: str = Aliased("title")
description: str = Aliased("text")


class ShiyuDefenseMonster(APIModel):
"""Shiyu Defense monster model."""

id: int
name: str
weakness: typing.Optional[ZZZElementType] = Aliased("weak_element_type")
weakness: typing.Union[ZZZElementType, int] = Aliased("weak_element_type")
level: int

@pydantic.field_validator("weakness", mode="before")
@classmethod
def __parse_weakness(cls, value: int) -> typing.Optional[ZZZElementType]:
if value == 0:
return None
return ZZZElementType(value)
@pydantic.validator("weakness", pre=True)
def __convert_weakness(cls, v: int) -> typing.Union[ZZZElementType, int]:
try:
return ZZZElementType(v)
except ValueError:
return v


class ShiyuDefenseNode(APIModel):
Expand Down

0 comments on commit b20dec3

Please sign in to comment.