diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index cdddd30..4eab271 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -847,6 +847,12 @@ class Pokemon(TableBase): ### Stuff to handle alternate Pokémon forms + @property + def form(self): + u"""Returns the Pokémon's form, using its default form as fallback.""" + + return self.unique_form or self.default_form + @property def is_base_form(self): u"""Returns True iff the Pokémon is the base form for its species, @@ -1038,6 +1044,13 @@ class PokemonForm(TableBase): order = Column(Integer, nullable=False, autoincrement=False, info=dict(description=u'The order in which forms should be sorted. Multiple forms may have equal order, in which case they should fall back on sorting by name.')) + @property + def pokemon(self): + u"""Returns the Pokémon for this form, using the form base as fallback. + """ + + return self.unique_pokemon or self.form_base_pokemon + @property def full_name(self): u"""Returns the full name of this form, e.g. "Plant Cloak"."""