Petr Viktorin
391fd1c1ac
Support association proxies
2012-02-12 23:43:14 +01:00
Petr Viktorin
ef3fb2f536
Move relationships to _add_relationships calls: Pokemon
2012-02-12 23:43:14 +01:00
Petr Viktorin
949ff883ea
Autodoc for backrefs
2012-02-12 22:45:10 +01:00
Petr Viktorin
0cb1f8a1b8
Make the table schema a bit more introspectable
...
This solves two problems: first, the relationships are now defined in
the class they apply to, rather than in a separate section of the module,
and second, their metadata -- both creation arguments and extra info such
as `description` (or, later, possibly, info for API properties) -- is
stored.
2012-02-12 16:19:09 +01:00
Petr Viktorin
5b7e13892a
Add pokemon_form_generations, with internal game indices
...
Fixes #63
2012-02-11 13:08:54 +01:00
Petr Viktorin
216e4c8462
Typo fix
2012-02-11 09:12:17 +01:00
Eevee
897c6f1de1
Merge pull request #64 from veekun/zhorken
...
Fixes some move data issues and form bugs.
2012-02-05 21:29:22 -08:00
Petr Viktorin
48f3957aab
Add the VersionGroupPokemonMoveMethod table
2012-02-06 00:43:47 +01:00
Petr Viktorin
73cf9c036c
Use VersionGroup.order in a bunch of relationships
2012-01-30 18:17:00 +01:00
Petr Viktorin
1134415e13
Introduce an order
column for version groups
...
Some code in spline-pokedex orders by `id`, which has worse consequences
than it may seem (e.g. instead of defaulting to most recent games, the
comparifier defaults to XD). This is the first step to fixing that.
2012-01-30 14:09:05 +01:00
Lynn "Zhorken" Vaughan
111394315e
Fix the indiscriminate display of Pokémon with their form names.
2012-01-24 00:24:02 -05:00
Petr Viktorin
d8d32a0176
Use identifiers in Pokemon.stat
2011-09-22 00:51:59 +03:00
Petr Viktorin
bb49a6bc39
Fix a Unicode docstring
2011-08-30 23:05:28 +03:00
Eevee
10ce391098
Nicer docstrings for the three "pokemon" tables we have now.
2011-08-29 20:36:06 -07:00
Petr Viktorin
8309b316f2
Add is_default to Pokemon. Revise forms' is_default accordingly.
2011-05-06 12:26:16 +03:00
Petr Viktorin
bc244aeb53
Pokemon species split: DB metadata changes
2011-05-06 12:26:16 +03:00
Petr Viktorin
280c90b966
Pokemon species split: Schema changes
2011-05-06 12:26:16 +03:00
Eevee
349fbb2d94
Merge remote-tracking branch 'origin/encukou-markdown'
2011-04-28 19:40:20 -07:00
Petr Viktorin
7d7fcc74c8
Don't set autoincrement for ids with zeroes. Test included. #580
2011-04-28 23:45:43 +03:00
Petr Viktorin
f7a9c28e60
Rename MoveFlagType/MoveFlag to MoveFlag/MoveFlagMap. #591
2011-04-28 23:43:54 +03:00
Petr Viktorin
85d779ba83
Move Markdown handling to the translation classes
...
- the Session has a `pokedex_link_maker` property, whose `object_url`
method is used to make URLs in Markdown
- pokemon.names_table.name is now an ordinary Unicode column
- pokemon.name is a MarkdownString that is aware of the session and the
language the string is in
- pokemon.name_map is a dict-like association_proxy of the above
- move.effect works similarly, with transparent $effect_chance substitution
as before
2011-04-28 23:42:56 +03:00
Petr Viktorin
98dcc613e2
Use relationship() instead of the deprecated relation(). #596
2011-04-28 23:31:38 +03:00
Petr Viktorin
1f2df80a00
Make Pokemon.form an actual relation
2011-04-17 22:34:03 -07:00
Petr Viktorin
0f7feab591
Make PokemonForm.pokemon an actual relation
2011-04-17 17:45:10 -07:00
Petr Viktorin
10d9bc83b3
Mark MoveEffect.effect as a Markdown column.
...
Also relax the appropriate test
2011-04-12 09:51:51 +03:00
Petr Viktorin
f42f5f32d0
Expand some string limits so links with identifiers can fit
2011-04-12 09:06:04 +03:00
Petr Viktorin
5d18ae7ab6
Make the schema tests pass
2011-04-12 09:06:02 +03:00
Eevee
28d81cc25f
Rearranged evolution table; added new B/W evolutions. #378
...
There are now (well, have been for a while) multiple ways to evolve
a Pokémon from its unique parent, so the current schema wasn't working.
The parent Pokémon has moved back to the main pokemon table, and
pokemon_evolution has grown an artificial primary key.
New evolution methods for Milotic, Leafeon, Glaceon, Magnezone, and
Probopass have been added.
2011-04-10 16:33:18 -07:00
Eevee
f666327fa0
Remove old move effect categories. #389
2011-04-09 22:58:40 -07:00
Eevee
8de33be206
Added identifiers for move meta categories.
2011-04-09 22:22:58 -07:00
Eevee
905f5b3d13
Merge remote-tracking branch 'origin/encounters-i18n'
...
Conflicts:
pokedex/db/__init__.py
2011-04-05 22:32:51 -07:00
a_magical_me
841694f83f
Add R/S/E encounters. #136
...
- They actually have LocationAreaEncounterRates this time!
- Make EncounterSlots.rarity nullable, since my script requires it.
2011-04-04 17:48:10 -07:00
a_magical_me
c9a3ceb88f
Rename terrain => method. #375
...
They aren't actually terrains, and i need that name for another table.
2011-04-04 17:48:05 -07:00
a_magical_me
7b7c0addde
Add B/W locations. #375
...
English and Japanese. Woo!
The text dump contained a bunch of duplicate location names (possibly
for the Entralink?). I've merged them in the locations table, but
location_game_indices still has the duplicates—that is, a location can
now have multiple game_index values in one generation (necessitating a
small schema change).
2011-04-04 17:09:11 -07:00
a_magical_me
34a888cc16
Revert "Added a bunch of autoincrement=False."
...
This reverts commit e68f43a5aee1b8fe145c416df6fa0015b54efd5c,
because it was a bloody terrible idea.
2011-04-03 15:20:53 -07:00
Petr Viktorin
8cddfefc4c
Add __repr__ to mapped classes
...
This makes string representations of lists, tuples, dicts, etc. with the
DB objects make sense
2011-04-03 21:18:37 +03:00
Petr Viktorin
a06498cb39
Make a bunch of text columns nullable to support missing translations
2011-04-03 20:08:05 +03:00
Petr Viktorin
105d9422ca
Change item short effect format to markdown
2011-04-03 19:34:18 +03:00
a_magical_me
b924a82236
Remove all uses of str.format().
...
For Python 2.5 compatibility.
2011-04-03 03:16:52 -07:00
Eevee
629d99885c
Change item short effects to markdown.
2011-04-03 02:16:15 -07:00
Eevee
c519a4c824
Added a truckload of innerjoins and joinedloads.
...
Also reformatted the relationship definitions. Now less of a clusterfuck.
2011-04-03 01:26:55 -07:00
Eevee
50b3adf949
Split up MoveEffectProperty; don't detect dict proxies.
...
(It didn't work anyway!)
2011-04-03 01:25:59 -07:00
Eevee
702b99666e
Added a bunch of autoincrement=False.
2011-04-01 17:59:42 -07:00
Petr Viktorin
17e359ddba
Add 'ripped' to column info
2011-04-01 16:50:10 -07:00
Eevee
13452d3136
Create flavor_summary tables for Pokemon, Move, Item.
2011-04-01 16:47:52 -07:00
Petr Viktorin
7b93c11f7e
Reorder the classes in tables.py alphabetically. Also, test the order.
2011-04-01 16:08:56 -07:00
Petr Viktorin
97bf4cfe45
Update test_schema to the new API. Add some missing column metadata.
2011-04-01 15:59:53 -07:00
Petr Viktorin
d961cfe1c7
Add a mapped_classes list, and a translation_classes list to each mapped class
2011-04-01 15:59:52 -07:00
Eevee
bd9fa0d6a6
Shapes for gen 5 Pokémon.
2011-04-01 15:59:14 -07:00
Eevee
305f739190
Disable autoincrement for MoveMetaAilment.
2011-03-31 09:22:16 -07:00
Eevee
8b81053a90
Add Stat.is_battle_only.
2011-03-29 21:26:57 -07:00
Eevee
db466bbebf
Update the pokedex.db.tables docs.
2011-03-29 20:20:08 -07:00
Eevee
1268a76832
Joinedload current-language names.
2011-03-29 18:39:37 -07:00
Eevee
f24702b7a9
language_id -> local_language_id
2011-03-28 19:12:30 -07:00
Eevee
93a85f020f
Remove back_populates, which doesn't seem to work.
2011-03-24 20:44:08 -07:00
Eevee
027fd6236f
Remove a bunch of imports from tables.py.
2011-03-24 20:02:00 -07:00
Eevee
d986355bf3
Rename internal_id to game_index.
2011-03-24 19:37:12 -07:00
Eevee
3a6fe6d539
Rename *_texts tables to *_names.
2011-03-24 18:46:46 -07:00
Eevee
a3e0e4912b
Whoops; preserve column order.
2011-03-24 17:17:24 -07:00
Eevee
ef1db6029d
Remove LanguageSpecific.
2011-03-23 22:41:02 -07:00
Eevee
8ad84e4032
Removed ProseColumn and TextColumn. Huzzah.
2011-03-23 22:17:02 -07:00
Eevee
68e14e663e
Started switching to create_translation_table.
...
- Moved the function to its own file.
- Implemented the session-based default language switching.
- Migrated a couple tables.
2011-03-21 22:32:52 -07:00
Eevee
6a9172151a
Sigh! Remove support for strings as keys; use Language objects.
2011-03-21 17:54:28 -07:00
Eevee
1da816af4b
New i18n schema thing impl, and fixed the new tests to match.
2011-03-20 01:06:45 -07:00
Eevee
542aa670ae
Added a test for the i18n dynamic table generation.
...
It fails spectacularly, but hopefully documents what I'm ultimately
going for.
2011-03-18 18:22:18 -07:00
Eevee
4645349133
Rename some meta-schema variables for ease of debugging.
2011-03-18 17:15:34 -07:00
Eevee
a417a0a9e1
Replace String* sqla stuff with association_proxy.
2011-03-14 22:24:29 -07:00
Eevee
a0f5c53193
Give every db table a __str__.
2011-03-14 20:51:31 -07:00
Eevee
b61acaff69
Tidy up relation creation for name tables.
2011-03-13 23:43:08 -07:00
Eevee
f773ef02ec
Remove OfficiallyNamed and UnofficiallyNamed.
2011-03-13 23:33:42 -07:00
Eevee
482ca207cb
Fix some i18n schema issues when running under a Real Database™.
2011-03-13 15:45:07 -07:00
Petr Viktorin
2f222ca973
Make the string properties mutable
2011-03-13 15:43:42 -07:00
Petr Viktorin
7c039115ee
Use DefaultLangProperty for Markdown columns
2011-03-13 15:43:02 -07:00
Petr Viktorin
e5f7cd2aed
Rename StatHint.text to .message (clashed with the all-texts attribute)
2011-03-13 15:43:01 -07:00
Petr Viktorin
1053b35471
fixup! I18n for the database schema
2011-03-13 15:43:01 -07:00
Petr Viktorin
bc2707f6c4
Support filtering by strings (Pokemon.name, Pokemon.names['fr'], etc.)
2011-03-13 15:43:01 -07:00
Petr Viktorin
414a272c21
Add descriptions to new tables
2011-03-13 15:43:00 -07:00
Petr Viktorin
d0d4d1aa96
Use a class + mapper instead of dynamic declarative magic
2011-03-13 15:43:00 -07:00
Petr Viktorin
b3c7689d41
Replace all_tables by table_classes; get rid of globals()
2011-03-13 15:43:00 -07:00
Eevee
625aa19fbd
Preserve the order of TextColumns and ProseColumns.
2011-03-13 15:40:46 -07:00
Petr Viktorin
30faa46ab6
Multi-language markdown move properties
...
Singular property name for English text
Plural property name for dict of texts keyed by language
2011-03-13 15:10:11 -07:00
Petr Viktorin
d813e24b25
I18n for the database schema
...
- Helper base class: Named
Subclasses: OfficiallyNamed, UnofficiallyNamed
for these, a 'name' column is created in the appropriate text table
also, they get automatic __str__/__repr__/__unicode__
- Faux columns: ProseColumn, TextColumn
these become columns in the appropriate text tables
these text tables (*_text, *_prose) are auto-generated at the end
the main table gets one property (singular name) that gets the English text
and one (plural name) with dict of texts keyed by language
- Every named table gets 'identifier'
- Languages compare & hash equal to their identifiers
- Existing foreign-name tables replaced by the autogenerated ones
- order_by: names replaced by identifiers
- New function: all_tables(), yields all tables
- Markdown move properties removed for now
- Schema test suite
2011-03-13 15:10:10 -07:00
Eevee
373c01dfda
"Characteristic" text, here called stat hints.
2011-03-08 22:28:34 -08:00
Eevee
74454f8d76
Add B/W move metadata. #389
2011-03-08 22:28:33 -08:00
Lynn "Zhorken" Vaughan
edc222bbb6
Shorten some over-long move effect changelog entries.
...
I couldn't really shorten Dig and Fly's bug descriptions to 255
characters, so I also gave the column more space.
2011-02-10 22:00:18 -05:00
Lynn "Zhorken" Vaughan
92084b28b3
Support null PP for Struggle and Shadow moves. #190
2011-02-10 21:02:02 -05:00
Lynn "Zhorken" Vaughan
d6a96f5ee9
Support null pre-D/P damage class for ??? and Shadow.
...
Rather than marking them "non-damaging".
2011-02-10 21:02:01 -05:00
Eevee
1bfbaa67b1
Add a couple relations for move effect changelogs.
2011-02-09 23:39:03 -08:00
Lynn "Zhorken" Vaughan
b0e99aa7f1
Order Ability's Pokémon relations by Pokemon.order.
2011-01-31 17:02:34 -05:00
Lynn "Zhorken" Vaughan
04ec336654
Make Type.moves a proper relation with an order_by.
2011-01-31 16:36:20 -05:00
Lynn "Zhorken" Vaughan
6c286ffa6f
Morning is not a separate time of day for evolution.
...
As far as evolution is concerned, it's always day or night--there is no
in-between period when Eevee will not evolve into Espeon or Umbreon, and
there are no Pokémon that only evolve during the early part of the day.
Having 'morning' as a separate value is thus misleading, albeit not
terribly misleading since it never appeared outside of tables.py.
2011-01-31 14:41:19 -05:00
Eevee
570719499d
Remove useless encounter_slot_conditions table. #297
2011-01-27 20:44:57 -08:00
Eevee
4414bab714
Lots of encounters were using slots that claimed to be for other games. #297 #281
2011-01-27 20:44:56 -08:00
Lynn "Zhorken" Vaughan
50d39ec2b6
Merge the fem_sprite columns into has_gender_differences. #363
...
Chimecho does not have gender differences; its Platinum and HG/SS second-
frame female backsprites have one hand posed a little differently, but
no actual design differences.
Torchic does count even though the only difference is a single-pixel dark
speck on the male's rear; the speck was carried over into B/W even though
the backsprites were entirely redone, so I'm guessing it either was
deliberate or has ascended into canon via "let's throw it in anyway."
2011-01-24 21:11:25 -05:00
Lynn "Zhorken" Vaughan
7e0cd75d29
Add properties for getting a Pokemon from a PokemonForm, and vice-versa.
2011-01-24 15:58:29 -05:00
Lynn "Zhorken" Vaughan
74c8d25eb7
Improve a bunch of schema documentation.
...
I didn't get to a bunch, but I wanted this to stop clogging up my working
tree.
2010-12-24 21:03:22 -05:00
Lynn "Zhorken" Vaughan
c984eaede1
Support kaburumo and chobomaki's trade-for-each other evolution. #378
2010-12-24 21:03:22 -05:00
a_magical_me
580ae8169e
Add order_by=Pokemon.order to a few relations.
2010-12-20 20:26:26 -08:00
a_magical_me
6f89723dd5
Give Pokemon an order column.
...
Basically national order, but with families grouped together.
2010-12-14 19:07:47 -08:00
Lynn "Zhorken" Vaughan
6be23de775
Give move changelogs a few more relations. #78
2010-12-13 20:24:14 -05:00
Eevee
d280cfac94
Added a short_effect column to the items table.
2010-12-13 15:38:46 -08:00
Eevee
4dcb6e0f4d
Eagerload PokemonName.language.
2010-12-11 21:43:46 -08:00
Lynn "Zhorken" Vaughan
535b6cfa73
Give abilities separate relations for all/normal/dream Pokémon.
2010-12-11 12:20:19 -05:00
Brigit Lemanski
6c02987fb6
Fixing typos like a winner.
2010-12-07 20:38:16 -05:00
Brigit Lemanski
42142f90a0
Implement move effect changelog; misc move fixes.
2010-12-07 20:23:14 -05:00
Brigit Lemanski
421a47ec32
Changelog for RGBY -> GS, HGSS -> BW
2010-12-07 17:05:17 -05:00
Lynn "Zhorken" Vaughan
2aa7848b62
Rename the "none" damage class to "non-damaging".
...
Also decapitalize the classes' names, because they make sense that way
and they're not among the things the games always capitalize.
2010-12-07 12:43:58 -05:00
Zhorken
cfd9a9aa3a
Order move changelogs descendingly.
2010-12-06 18:10:52 -05:00
Zhorken
e7784d6467
Make version_group.versions an actual relation with an order_by().
2010-12-06 17:56:43 -05:00
Zhorken
4e5415ac56
Implement an ability changelog; add a few changes. #78
2010-12-06 17:55:09 -05:00
Zhorken
523552e2d6
Version group Pokédexes don't need their own table.
2010-12-04 22:54:35 -05:00
Eevee
aa00ee83de
Implement a move data changelog. Update old moves to their Gen V stats. #78
2010-11-30 22:48:29 -08:00
Zhorken
24631474fa
Add Pokémon's Pokéathlon stats to the database. #285
2010-11-30 04:51:54 -05:00
Zhorken
49b7502099
Overhaul the Pokémon form schema. #286 #179 #379
2010-11-29 20:38:04 -05:00
Eevee
ade7d9aa19
Add Dream World abilities. #380
2010-11-25 00:10:12 -08:00
Petr Viktorin
1daff536b8
Finish documenting the tables
2010-11-19 23:29:32 -08:00
Petr Viktorin
febbf16222
Schema documentation, up to Language
2010-11-19 23:29:31 -08:00
Eevee
d56cc97b8c
Moved priority out of the move_effects table.
2010-10-16 22:50:22 -07:00
Zhorken
ddca78c34d
Order Pokemon.stats by stat id. #366
2010-09-27 02:59:48 -04:00
Zhorken
cf12819bc8
B/W: Add new items to the database.
...
There's now a hole in the items table: there's no item 667. There are
two records for the Live Caster in B/W, and I couldn't figure out why,
or see any difference between them, and they were causing problems, so
I deleted the second one.
2010-09-25 04:55:21 -04:00
Eevee
cb3e7bcf96
B&W: New moves. Also changed always-hit moves to NULL; helps #124 .
2010-09-19 01:11:03 -07:00
Eevee
c42ce7c1be
B&W: Added all new Pokémon! Forms now start at 10001.
2010-09-18 22:53:53 -07:00
Eevee
c05ca1460f
Fixed missing indices on the pokemon_moves table.
2010-09-10 23:29:26 -07:00
Eevee
497c3aa0f0
Make baby-trigger items (i.e., incense) a foreign key. #337
2010-09-01 23:24:21 -07:00
Eevee
0fcdb6bcc9
Add a Nature.is_neutral helper property.
2010-09-01 21:52:44 -07:00
Zhorken
3e7d750790
Add foreign type names to the database.
2010-08-06 22:48:30 -04:00
Eevee
1718da9854
Added gen 4 location internal ids and some pseudo-locations.
2010-07-25 22:26:05 -07:00
Eevee
c65c72842f
Add identifiers for move flags.
2010-07-25 22:26:05 -07:00
Zhorken
276098b655
Store each Pokémon's initial hatch counter instead of a step count.
...
The step counts we had weren't even good estimates. To hatch an egg
uninterrupted takes (counter + 1) * 255 steps in gen IV; what we had
was counter * 256.
Phione and Manaphy have different counters, as do Croagunk and Toxicroak
for some reason, so they're associated with individual Pokémon now,
rather than entire evolution chains. Double-checked with Pearl,
Platinum, and SoulSilver; there were no differences between the three,
aside from the alternate forms introduced in Platinum.
2010-07-13 23:07:25 -04:00
Zhorken
8ef8c3a915
Add foreign names to the database.
...
Most names as ripped from HeartGold or SoulSilver. Gen-III-only names
ripped from Emerald and de-allcapsed; for French, I also judged where
accents belong on newly-lowercase letters. A couple of them might have
mistakes.
2010-06-14 23:13:42 -04:00
Zhorken
12aaf06359
Added foreign nature names to the database.
...
Same as abilities. Japanese as ripped from SoulSilver; French, German,
Italian, and Spanish as ripped from Platinum.
2010-06-07 20:17:50 -04:00
Zhorken
77bec54324
Order Pokémon dex numbers by Pokédex ID.
2010-06-07 16:15:43 -04:00
Zhorken
577a6b44a4
Give Pokémon internal IDs their own table and add all gens' IDs.
...
- Gen I has them all mixed around.
- Gen II has no surprises, but I figured it's good to be thorough.
- Gen III has the first 251 in order, then a big break, then the
third-gen Pokémon mixed around, though families are usually together.
- Gen IV has the 493 in order and then alternate forms after Arceus,
which will be useful to have once Gen V comes and we have to bump
the alt forms in the pokemon table forward.
2010-06-07 16:15:23 -04:00
Eevee
47631116fb
Form groups, rst => markdown
2010-06-02 00:26:57 -07:00
Eevee
1fbba5476c
Scrap docutils for markdown. #275
2010-06-02 00:17:27 -07:00
Eevee
409b16e8ee
Link stats to damage classes.
2010-06-02 00:17:27 -07:00
Eevee
b1691804c1
Blindly throw some more indexes on pokemon_moves.
2010-06-02 00:17:26 -07:00
Zhorken
106e156d22
Update the form group description column. #210
...
I meant to include this in the last commit. Whoops.
Rotom's description is *really long*, so I needed to bump the length up
to fit it. Also changed it to an RstTextColumn.
2010-05-26 14:46:01 -04:00
Zhorken
386e215ae3
Add foreign ability names to the database.
...
This adds Japanese, French, German, Spanish, and Italian names, as
ripped from SoulSilver (Japanese) or Platinum (everything else).
This also fixes a couple of backrefs.
2010-05-26 14:30:32 -04:00
Eevee
b91c813966
Pokemon.evolution_* => Pokemon.*_pokemon
2010-05-25 00:12:53 -07:00
Eevee
672caf7aa9
Fix a many-to-many join bug with evolutions.
2010-05-25 00:12:53 -07:00
Eevee
cd24ebe9ca
Removed evolution_methods table. #42
2010-05-25 00:12:53 -07:00
Eevee
78b6a68cd5
Overhauled evolution. #42
2010-05-25 00:12:53 -07:00
Zhorken
6f63bec90c
Link move flavour text to version groups. #169
2010-05-20 01:08:26 -04:00
Eevee
cb2bfa3032
Added some missing item icons and fixed TMs/Data Cards. #248
2010-05-11 20:20:33 -07:00
Eevee
2333670d09
Pokemon.types should order by slot. #220
2010-05-09 21:47:07 -07:00
Zhorken
93108a6a84
Added ability flavour text. #62
...
We had D/P flavour text in the abilities table already, but I didn't
entirely trust it, so I reripped it along with the rest when I moved
flavour text into its own table. And we didn't actually use the D/P
text anywhere, so I'm just going to pretend that it is entirely new.
2010-05-04 03:31:54 -04:00
Zhorken
641df3649d
Added ability effects. Rewrote short effects. #39
2010-05-04 03:31:40 -04:00
Zhorken
3007297ede
Added abilities' generations to the database.
2010-05-04 02:39:51 -04:00
Eevee
b8481d551a
Added GrowthRate.max_experience.
2010-05-03 01:00:38 -07:00