Add properties for getting a Pokemon from a PokemonForm, and vice-versa.
authorLynn "Zhorken" Vaughan <zhorken@gmail.com>
Mon, 24 Jan 2011 20:33:18 +0000 (15:33 -0500)
committerLynn "Zhorken" Vaughan <zhorken@gmail.com>
Mon, 24 Jan 2011 20:58:29 +0000 (15:58 -0500)
pokedex/db/tables.py

index cdddd30..4eab271 100644 (file)
@@ -848,6 +848,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,
         e.g. Land Shaymin.
@@ -1039,6 +1045,13 @@ class PokemonForm(TableBase):
         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"."""