mirror of
https://github.com/veekun/pokedex.git
synced 2024-08-20 18:16:34 +00:00
Add is_default to Pokemon. Revise forms' is_default accordingly.
This commit is contained in:
parent
bc244aeb53
commit
8309b316f2
3 changed files with 709 additions and 703 deletions
File diff suppressed because it is too large
Load diff
|
@ -675,16 +675,16 @@ id,form_identifier,pokemon_id,introduced_in_version_group_id,is_default,is_battl
|
|||
674,z,201,3,0,0,230
|
||||
675,exclamation,201,5,0,0,230
|
||||
676,question,201,5,0,0,230
|
||||
677,sunny,662,5,0,1,379
|
||||
678,rainy,663,5,0,1,380
|
||||
679,snowy,664,5,0,1,381
|
||||
680,attack,650,7,0,0,419
|
||||
681,defense,651,7,0,0,420
|
||||
682,speed,652,6,0,0,421
|
||||
677,sunny,662,5,1,1,379
|
||||
678,rainy,663,5,1,1,380
|
||||
679,snowy,664,5,1,1,381
|
||||
680,attack,650,7,1,0,419
|
||||
681,defense,651,7,1,0,420
|
||||
682,speed,652,6,1,0,421
|
||||
683,sandy,412,8,0,0,445
|
||||
684,trash,412,8,0,0,445
|
||||
685,sandy,653,8,0,0,447
|
||||
686,trash,654,8,0,0,448
|
||||
685,sandy,653,8,1,0,447
|
||||
686,trash,654,8,1,0,448
|
||||
687,sunshine,421,8,0,1,456
|
||||
688,east,422,8,0,0,457
|
||||
689,east,423,8,0,0,458
|
||||
|
@ -705,23 +705,23 @@ id,form_identifier,pokemon_id,introduced_in_version_group_id,is_default,is_battl
|
|||
704,steel,493,8,0,0,508
|
||||
705,water,493,8,0,0,508
|
||||
706,unknown,493,8,0,0,508
|
||||
707,heat,657,9,0,0,488
|
||||
708,wash,658,9,0,0,489
|
||||
709,frost,659,9,0,0,490
|
||||
710,fan,660,9,0,0,491
|
||||
711,mow,661,9,0,0,492
|
||||
712,origin,656,9,0,0,501
|
||||
713,sky,655,9,0,0,507
|
||||
707,heat,657,9,1,0,488
|
||||
708,wash,658,9,1,0,489
|
||||
709,frost,659,9,1,0,490
|
||||
710,fan,660,9,1,0,491
|
||||
711,mow,661,9,1,0,492
|
||||
712,origin,656,9,1,0,501
|
||||
713,sky,655,9,1,0,507
|
||||
714,spiky-eared,172,10,0,0,25
|
||||
715,blue-striped,665,11,0,0,566
|
||||
716,zen,666,11,0,0,572
|
||||
715,blue-striped,665,11,1,0,566
|
||||
716,zen,666,11,1,0,572
|
||||
717,summer,585,11,0,0,602
|
||||
718,autumn,585,11,0,0,602
|
||||
719,winter,585,11,0,0,602
|
||||
720,summer,586,11,0,0,603
|
||||
721,autumn,586,11,0,0,603
|
||||
722,winter,586,11,0,0,603
|
||||
723,pirouette,667,11,0,0,666
|
||||
723,pirouette,667,11,1,0,666
|
||||
724,douse,649,11,0,0,667
|
||||
725,shock,649,11,0,0,667
|
||||
726,burn,649,11,0,0,667
|
||||
|
|
|
|
@ -1072,17 +1072,13 @@ class Pokemon(TableBase):
|
|||
info=dict(description=u"The base EXP gained when defeating this Pokémon")) # XXX: Is this correct?
|
||||
order = Column(Integer, nullable=False, index=True,
|
||||
info=dict(description=u"Order for sorting. Almost national order, except families are grouped together."))
|
||||
is_default = Column(Boolean, nullable=False, index=True,
|
||||
info=dict(description=u'Set for exactly one pokemon used as the default for each species.'))
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
u"""Returns True iff the Pokémon is the base form for its species,
|
||||
e.g. Land Shaymin.
|
||||
"""
|
||||
|
||||
return self.default_form.pokemon_name or self.species.name
|
||||
|
||||
### Not forms!
|
||||
|
||||
def stat(self, stat_name):
|
||||
u"""Returns a PokemonStat record for the given stat name (or Stat row
|
||||
object). Uses the normal has-many machinery, so all the stats are
|
||||
|
@ -1218,13 +1214,13 @@ class PokemonForm(TableBase):
|
|||
id = Column(Integer, primary_key=True, nullable=False,
|
||||
info=dict(description=u'A unique ID for this form.'))
|
||||
form_identifier = Column(Unicode(16), nullable=True,
|
||||
info=dict(description=u"An identifier of the form, uniue among a species", format='identifier'))
|
||||
info=dict(description=u"An identifier of the form, uniue among a species. May be None for the default form of the species.", format='identifier'))
|
||||
pokemon_id = Column(Integer, ForeignKey('pokemon.id'), nullable=False, autoincrement=False,
|
||||
info=dict(description=u'The ID of the base Pokémon for this form.'))
|
||||
introduced_in_version_group_id = Column(Integer, ForeignKey('version_groups.id'), autoincrement=False,
|
||||
info=dict(description=u'The ID of the version group in which this form first appeared.'))
|
||||
is_default = Column(Boolean, nullable=False,
|
||||
info=dict(description=u'Set for exactly one form used as the default for each species.'))
|
||||
info=dict(description=u'Set for exactly one form used as the default for each pokemon (not necessarily species).'))
|
||||
is_battle_only = Column(Boolean, nullable=False,
|
||||
info=dict(description=u'Set iff the form can only appear in battle.'))
|
||||
order = Column(Integer, nullable=False, autoincrement=False,
|
||||
|
@ -1917,7 +1913,7 @@ Pokemon.default_form = relationship(PokemonForm,
|
|||
primaryjoin=and_(
|
||||
Pokemon.id==PokemonForm.pokemon_id,
|
||||
PokemonForm.is_default==True),
|
||||
uselist=False)
|
||||
uselist=False, lazy='joined')
|
||||
Pokemon.items = relationship(PokemonItem,
|
||||
backref='pokemon')
|
||||
Pokemon.stats = relationship(PokemonStat,
|
||||
|
@ -1957,7 +1953,7 @@ PokemonEvolution.trade_species = relationship(PokemonSpecies,
|
|||
|
||||
PokemonForm.pokemon = relationship(Pokemon,
|
||||
primaryjoin=PokemonForm.pokemon_id==Pokemon.id,
|
||||
innerjoin=True)
|
||||
innerjoin=True, lazy='joined')
|
||||
PokemonForm.species = association_proxy('pokemon', 'species')
|
||||
PokemonForm.version_group = relationship(VersionGroup,
|
||||
innerjoin=True)
|
||||
|
@ -1995,7 +1991,7 @@ PokemonMove.method = relationship(PokemonMoveMethod,
|
|||
PokemonStat.stat = relationship(Stat,
|
||||
innerjoin=True, lazy='joined')
|
||||
|
||||
PokemonSpecies.parent_pokemon = relationship(PokemonSpecies,
|
||||
PokemonSpecies.parent_species = relationship(PokemonSpecies,
|
||||
primaryjoin=PokemonSpecies.evolves_from_species_id==PokemonSpecies.id,
|
||||
remote_side=[PokemonSpecies.id],
|
||||
backref='child_species')
|
||||
|
@ -2008,13 +2004,11 @@ PokemonSpecies.flavor_text = relationship(PokemonSpeciesFlavorText,
|
|||
PokemonSpecies.growth_rate = relationship(GrowthRate,
|
||||
innerjoin=True,
|
||||
backref='evolution_chains')
|
||||
PokemonSpecies.pokemon_habitat = relationship(PokemonHabitat,
|
||||
PokemonSpecies.habitat = relationship(PokemonHabitat,
|
||||
backref='species')
|
||||
PokemonSpecies.habitat = association_proxy('pokemon_habitat', 'name')
|
||||
PokemonSpecies.pokemon_color = relationship(PokemonColor,
|
||||
PokemonSpecies.color = relationship(PokemonColor,
|
||||
innerjoin=True,
|
||||
backref='species')
|
||||
PokemonSpecies.color = association_proxy('pokemon_color', 'name')
|
||||
PokemonSpecies.egg_groups = relationship(EggGroup,
|
||||
secondary=PokemonEggGroup.__table__,
|
||||
innerjoin=True,
|
||||
|
@ -2024,10 +2018,22 @@ PokemonSpecies.forms = relationship(PokemonForm,
|
|||
secondary=Pokemon.__table__,
|
||||
primaryjoin=PokemonSpecies.id==Pokemon.species_id,
|
||||
secondaryjoin=Pokemon.id==PokemonForm.pokemon_id,
|
||||
order_by=Pokemon.order.asc())
|
||||
order_by=(PokemonForm.order.asc(), PokemonForm.form_identifier.asc()))
|
||||
PokemonSpecies.default_form = relationship(PokemonForm,
|
||||
secondary=Pokemon.__table__,
|
||||
primaryjoin=and_(PokemonSpecies.id==Pokemon.species_id,
|
||||
Pokemon.is_default==True),
|
||||
secondaryjoin=and_(Pokemon.id==PokemonForm.pokemon_id,
|
||||
PokemonForm.is_default==True),
|
||||
uselist=False)
|
||||
PokemonSpecies.default_pokemon = relationship(Pokemon,
|
||||
primaryjoin=and_(
|
||||
PokemonSpecies.id==Pokemon.species_id,
|
||||
Pokemon.is_default==True),
|
||||
uselist=False, lazy='joined')
|
||||
PokemonSpecies.evolution_chain = relationship(EvolutionChain,
|
||||
innerjoin=True,
|
||||
backref=backref('species', order_by=Pokemon.order.asc()))
|
||||
backref=backref('species', order_by=PokemonSpecies.id.asc()))
|
||||
PokemonSpecies.dex_numbers = relationship(PokemonDexNumber,
|
||||
innerjoin=True,
|
||||
order_by=PokemonDexNumber.pokedex_id.asc(),
|
||||
|
|
Loading…
Reference in a new issue