Skip to content

Commit

Permalink
Fix tcg
Browse files Browse the repository at this point in the history
  • Loading branch information
thesadru committed Dec 21, 2022
1 parent 2b25476 commit 3280419
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
5 changes: 3 additions & 2 deletions genshin/client/components/chronicle/genshin.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,13 +143,14 @@ async def _get_genshin_tcg_page(
self,
page: int,
*,
uid: int,
uid: typing.Optional[int] = None,
characters: bool = True,
action: bool = True,
limit: int = 32,
lang: typing.Optional[str] = None,
) -> typing.Sequence[models.TCGBaseCard]:
"""Get genshin tcg page."""
uid = uid or await self._get_uid(types.Game.GENSHIN)
params = dict(
need_avatar="true" if characters else "false",
need_action="true" if action else "false",
Expand All @@ -165,7 +166,7 @@ async def _get_genshin_tcg_page(

def genshin_tcg(
self,
uid: int,
uid: typing.Optional[int] = None,
*,
limit: typing.Optional[int] = None,
characters: bool = True,
Expand Down
14 changes: 8 additions & 6 deletions genshin/models/genshin/chronicle/tcg.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@


class TCGCardType(str, enum.Enum):
"""TCG card type."""

CHARACTER = "CardTypeCharacter"
EQUIPMENT = "CardTypeModify"
ASSIST = "CardTypeAssist"
Expand Down Expand Up @@ -65,7 +67,7 @@ class TCGCost(APIModel):
value: int = Aliased("cost_value")

@pydantic.validator("element")
def validate_element(cls, value: str) -> str:
def __fix_element(cls, value: str) -> str:
return {
"CostTypeCryo": "Cryo",
"CostTypeDendro": "Dendro",
Expand All @@ -82,7 +84,7 @@ def validate_element(cls, value: str) -> str:
class TCGBaseCard(TCGPartialCard):
"""TCG card."""

type: TCGCardType
type: TCGCardType = Aliased("card_type")

name: str
proficiency: int
Expand All @@ -91,24 +93,24 @@ class TCGBaseCard(TCGPartialCard):

image_tags: typing.Sequence[str] = Aliased("tags")

wiki_url: str = Aliased("wiki_url")
wiki_url: str = Aliased("card_wiki")


class TCGCharacterCard(TCGBaseCard):
"""TCG character card."""

type: typing.Literal[TCGCardType.CHARACTER]
type: typing.Literal[TCGCardType.CHARACTER] = Aliased("card_type")

name: str
health: int = Aliased("hp")

talents: typing.Sequence[TCGCharacterTalent] = Aliased("talent_card")
talents: typing.Sequence[TCGCharacterTalent] = Aliased("card_skills")


class TCGCard(TCGBaseCard):
"""TCG equipment card."""

type: typing.Literal[TCGCardType.EQUIPMENT, TCGCardType.ASSIST, TCGCardType.EVENT]
type: typing.Literal[TCGCardType.EQUIPMENT, TCGCardType.ASSIST, TCGCardType.EVENT] = Aliased("card_type")

cost: typing.Sequence[TCGCost] = Aliased("action_cost")
description: str = Aliased("desc")
4 changes: 2 additions & 2 deletions tests/client/components/test_genshin_chronicle.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ async def test_genshin_activities(client: genshin.Client, genshin_uid: int):
assert data


async def test_genshin_tcg(client: genshin.Client, genshin_uid: int):
data = await client.genshin_tcg(genshin_uid, limit=64)
async def test_genshin_tcg(lclient: genshin.Client, genshin_uid: int):
data = await lclient.genshin_tcg(limit=64)

assert data

Expand Down

0 comments on commit 3280419

Please sign in to comment.