Files
2026-03-10 12:13:56 -04:00

36 lines
1001 B
Python

"""
Deck Sources — Shared Models
═════════════════════════════
Common data models for template decks fetched from external sources.
"""
class TemplateDeckCard:
"""A single card in a template deck."""
__slots__ = ("name", "quantity")
def __init__(self, name: str, quantity: int = 1):
self.name = name
self.quantity = quantity
def to_dict(self) -> dict:
return {"name": self.name, "quantity": self.quantity}
class TemplateDeck:
"""A template deck fetched from an external source."""
__slots__ = ("name", "source", "cards")
def __init__(self, name: str, source: str, cards: list = None):
self.name = name
self.source = source
self.cards = cards or [] # list of TemplateDeckCard
def to_dict(self) -> dict:
return {
"name": self.name,
"source": self.source,
"cards": [c.to_dict() for c in self.cards],
}