Skip to content

Commit 4d4a5b7

Browse files
committed
feat: card attributes + /cards attribute filters, v1.0.2
Add rich card attribute fields (stage, card_type, weakness, resistance, retreat_cost, energy_type, ability, flavor_text, attacks) to the Card model and stage/card_type/weakness/energy_type filters to cards.list.
1 parent 4a433d0 commit 4d4a5b7

4 files changed

Lines changed: 18 additions & 3 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "pkmnprices"
7-
version = "1.0.1"
7+
version = "1.0.2"
88
description = "Python client for the Pkmn Prices API"
99
readme = "README.md"
1010
license = "MIT"

src/pkmnprices/aio.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,17 @@ def __init__(self, transport: AsyncTransport) -> None:
8989
async def list(
9090
self, *, name: str | None = None, set_id: int | None = None, tcg_player_id: int | None = None,
9191
number: str | None = None, total_set_number: str | None = None, rarity: str | None = None,
92+
stage: str | None = None, card_type: str | None = None, weakness: str | None = None,
93+
energy_type: str | None = None,
9294
language: str | None = None, currency: str | None = None, condition: str | None = None,
9395
variant: str | None = None, grade: str | None = None, min_price: float | None = None,
9496
max_price: float | None = None, sort: str | None = None,
9597
page: int | None = None, per_page: int | None = None,
9698
) -> Page[CardSummary]:
9799
raw = await self._t.request(ep.cards_list(
98100
name=name, set_id=set_id, tcg_player_id=tcg_player_id, number=number,
99-
total_set_number=total_set_number, rarity=rarity, language=language, currency=currency,
101+
total_set_number=total_set_number, rarity=rarity, stage=stage, card_type=card_type,
102+
weakness=weakness, energy_type=energy_type, language=language, currency=currency,
100103
condition=condition, variant=variant, grade=grade, min_price=min_price,
101104
max_price=max_price, sort=sort, page=page, per_page=per_page,
102105
))

src/pkmnprices/models.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,15 @@ class CardSummary(Model):
9494

9595
@dataclasses.dataclass
9696
class Card(CardSummary):
97+
stage: str | None = None
98+
card_type: str | None = None
99+
weakness: str | None = None
100+
resistance: str | None = None
101+
retreat_cost: int | None = None
102+
energy_type: list[str] | None = None
103+
ability: str | None = None
104+
flavor_text: str | None = None
105+
attacks: list[str] = dataclasses.field(default_factory=list)
97106
prices: list[Price] = dataclasses.field(default_factory=list)
98107

99108

src/pkmnprices/resources.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,17 @@ def __init__(self, transport: SyncTransport) -> None:
8989
def list(
9090
self, *, name: str | None = None, set_id: int | None = None, tcg_player_id: int | None = None,
9191
number: str | None = None, total_set_number: str | None = None, rarity: str | None = None,
92+
stage: str | None = None, card_type: str | None = None, weakness: str | None = None,
93+
energy_type: str | None = None,
9294
language: str | None = None, currency: str | None = None, condition: str | None = None,
9395
variant: str | None = None, grade: str | None = None, min_price: float | None = None,
9496
max_price: float | None = None, sort: str | None = None,
9597
page: int | None = None, per_page: int | None = None,
9698
) -> Page[CardSummary]:
9799
raw = self._t.request(ep.cards_list(
98100
name=name, set_id=set_id, tcg_player_id=tcg_player_id, number=number,
99-
total_set_number=total_set_number, rarity=rarity, language=language, currency=currency,
101+
total_set_number=total_set_number, rarity=rarity, stage=stage, card_type=card_type,
102+
weakness=weakness, energy_type=energy_type, language=language, currency=currency,
100103
condition=condition, variant=variant, grade=grade, min_price=min_price,
101104
max_price=max_price, sort=sort, page=page, per_page=per_page,
102105
))

0 commit comments

Comments
 (0)