From d1aa477b9434c1b30f85a083a70fc80a6dbb5546 Mon Sep 17 00:00:00 2001 From: Eevee Date: Thu, 15 Apr 2010 20:05:03 -0700 Subject: [PATCH] Added Pokemon.stat() accessor. --- pokedex/db/tables.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index 508556f..3e10259 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -350,6 +350,22 @@ class Pokemon(TableBase): return self + ### Not forms! + + def stat(self, stat_name): + """Returns a PokemonStat record for the given stat name (or Stat row + object). Uses the normal has-many machinery, so all the stats are + effectively cached. + """ + if isinstance(stat_name, Stat): + stat_name = stat_name.name + + for pokemon_stat in self.stats: + if pokemon_stat.stat.name == stat_name: + return pokemon_stat + + return None + class PokemonAbility(TableBase): __tablename__ = 'pokemon_abilities' pokemon_id = Column(Integer, ForeignKey('pokemon.id'), primary_key=True, nullable=False, autoincrement=False) -- 2.7.4