Commit graph

679 commits

Author SHA1 Message Date
Eevee
e8df2c70e5 Remaining B/W item effects, save for some gimmicks and key items. #377 2011-04-10 16:41:58 -07:00
Eevee
ed825f9e23 B/W item effects up through the jewels. #377 2011-04-10 16:41:58 -07:00
Eevee
8d1487781f B/W item effects and mail item effects. #377 2011-04-10 16:41:58 -07:00
Eevee
8dbac07f56 Great Item Effect Rewrite, part 2: up through berries. #247 2011-04-10 16:41:57 -07:00
Eevee
310c618c83 Addressed Zhorken's myriad comments on the item rewrite so far. #247 2011-04-10 16:41:57 -07:00
Eevee
e91246126f Great Item Effect Rewrite, part 1; up through the flutes. #247 2011-04-10 16:41:57 -07: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
08bfd753e0 Fix default language assignment once and for all.
Stop trying to be clever and magical and just make the caller pass in a
damn primary key.
2011-04-10 00:54:14 -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
8e2ad429d9 hurp durp default language 2011-04-05 23:34:28 -07:00
Eevee
905f5b3d13 Merge remote-tracking branch 'origin/encounters-i18n'
Conflicts:
	pokedex/db/__init__.py
2011-04-05 22:32:51 -07:00
Eevee
5b0f290ec5 Unbreak db.connect(), whoops. 2011-04-05 21:46:11 -07:00
Eevee
acf44c63a0 Merge branch 'encukou' 2011-04-05 21:04:32 -07:00
Eevee
9441ffb165 Remove the responsibility of setting a default language from multilang.
Caller now has to do it.  No need to avoid circular deps, no need to do
much of anything at all.
2011-04-05 21:03:41 -07:00
Eevee
ef29dd667c Always joinedload the local_language for a full language map. 2011-04-05 20:48:10 -07:00
a_magical_me
81f384e562 Add FR/LG encounters. #136 2011-04-04 17:48:12 -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
Petr Viktorin
4291c33c00 Make MultilangSession's language class configurable 2011-04-04 21:51:35 +03:00
Petr Viktorin
9fdb8e1bd0 Make session.default_language set/get work 2011-04-04 04:18:37 +03:00
a_magical_me
dbb293e727 Add identifier_from_name() function.
Adapted from name2ident() in scripts/migration-i18n.py.
2011-04-03 15:32: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
6f36907341 Enable nullable MarkdownColumns 2011-04-03 20:08:04 +03:00
Petr Viktorin
105d9422ca Change item short effect format to markdown 2011-04-03 19:34:18 +03:00
a_magical_me
bbb7cb9907 Make load.py more idiomatic.
Also snuck an idiom into db/__init__.py.
2011-04-03 04:26:45 -07:00
a_magical_me
b9a54c63d8 Add usage text for --safe. 2011-04-03 03:21:54 -07:00
a_magical_me
9340f24ae4 load: Add --recursive option.
Helps somewhat with #526 (`pokedex load` is slow) by making it easier to
load only the tables you're interested in.
2011-04-03 03:17:08 -07:00
a_magical_me
ff1c4b530d Alter some identifiers. #207
As per http://bugs.veekun.com/projects/pokedex/wiki/Identifiers?version=3.

- The following tables were handled in commit "2090e34 Move English
  texts to language-specific tables": berry_firmness, item_categories,
  move_battle_styles, move_damage_classes, move_effect_categories,
  pokeathlon_stats, pokemon_colors, pokemon_habitats, regions, types,
  versions.

- These tables are skipped, pending further discussion:
  generations, growth_rates, move_targets, stats.

- Deviations from the wiki:
    - egg_groups: 'no-eggs' is not changed to 'noeggs'
    - encounter_terrains: the 'old-rod' alternative is used.
    - types: 'unknown' is not changed to '???'
    - pokemon_move_methods:
        - 'level-up' is not changed to 'level'
        - 'colosseum-purification' and 'xd-purification' are left alone,
          because colosseum and xd have not yet been added as versions.
        - 'xd-shadow' is left alone for consistency with 'xd-purificaiton'.
2011-04-03 03:17:06 -07:00
a_magical_me
bc0b4acb84 Add MarkdownString.__html__(). 2011-04-03 03:17:04 -07:00
a_magical_me
b924a82236 Remove all uses of str.format().
For Python 2.5 compatibility.
2011-04-03 03:16:52 -07:00
a_magical_me
e7c40a08af Speed up import pokedex.db slightly.
Importing pokedex can take several seconds due to its rather large
dependencies—in particular, sqlalchemy, whoosh, and pkg_resources seem
to be the largest offenders. Normally, it would be possible to import
only the submodules one needs (pokedex.db, say), but pokedex.__init__
brings in all the submodules, for use by the command-line interface.

The fix is rather obvious:

- Move the command-line stuff into pokedex.main.

  Note: because the submodules are no longer imported by default, any
  script which expects `import pokedex` to be useful will likely break.

  Note: the `pokedex` command will not work until you re-run `python
  setup.py develop`, to update entry_points.txt.

- Don't import pkg_resources until necessary.
2011-04-03 03:13:07 -07:00
Eevee
629d99885c Change item short effects to markdown. 2011-04-03 02:16:15 -07:00
Eevee
721b07084f Random lookup algorithm is now more naive, but less broken. 2011-04-03 01:56:27 -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
d90db39d43 Fix the i18n test; now uses multilang's session subclasses. 2011-04-03 01:26:31 -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
adbd3b628f Fix pokedex load with empty tables. 2011-04-03 01:23:48 -07:00
Eevee
702b99666e Added a bunch of autoincrement=False. 2011-04-01 17:59:42 -07:00
Eevee
61a0e8ae54 Created flavor summary tables. 2011-04-01 17:07:28 -07:00
Petr Viktorin
497bbd8d96 Add the Czech language 2011-04-01 16:50:15 -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
ef3038d047 Remove a bad test 2011-04-01 16:08:57 -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
3bfb7f0bb9 Update the comment for the Postgres version of pokedex load. 2011-04-01 16:08:56 -07:00
Petr Viktorin
d8840fdf5b Remove the test for filter(Pokemon.name > u"Xatu")
__gt__ and friends, you will be missed.
2011-04-01 15:59:53 -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
c4dc27732d Update test_strings.py to the new API (still fails though) 2011-04-01 15:59:52 -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
825d40c51e Match default language by id, not identifier. 2011-03-29 20:15:41 -07:00
Eevee
1268a76832 Joinedload current-language names. 2011-03-29 18:39:37 -07:00
Eevee
4445305e7c Merge remote-tracking branch 'origin/encukou' 2011-03-29 08:06:34 -07:00
Petr Viktorin
c25db1d2cf Add Czech romanization 2011-03-29 17:46:41 +03:00
Petr Viktorin
3475c86d2e Print progress for dropping/creating tables 2011-03-29 17:42:59 +03:00
Petr Viktorin
bb4861b8c6 Faster pokedex load for PostgreSQL #526
Also added the -S (--safe) option, which disables the backend-specific
optimizations.

This gives over 3× speedup on my machine :)
2011-03-29 17:42:48 +03:00
Eevee
c91da22989 Merge remote-tracking branch 'origin/ability-changes' 2011-03-28 22:13:33 -07:00
Eevee
b8dfb06ccc Add the 1% held items in B/W. 2011-03-28 21:59:23 -07:00
Eevee
f6a36a2654 We finally know what the last B/W move flag is. 2011-03-28 21:39:42 -07:00
Eevee
1f29c2ce17 Recent changes to Bide and Feint. #570 2011-03-28 21:26:44 -07:00
Lynn "Zhorken" Vaughan
d64090bd4f Some more ability fixes/changes. #561 2011-03-28 23:40:30 -04:00
Eevee
e63892bcde Fix short effects for Grudge, Glaciate. #570 2011-03-28 19:55:53 -07:00
Eevee
956189d4a7 Fix ancient bug with Pursuit description. #569 2011-03-28 19:36:05 -07:00
Eevee
5b7b15c7ce Mud/Water Sport last until the user leaves battle. #568
Not until the end of battle.
2011-03-28 19:30:10 -07:00
Eevee
125d4e2d2f Metal Burst returns 1.5× damage, not 2×. #567 2011-03-28 19:25:29 -07:00
Eevee
4daa6ab0c3 Merge branch 'schema-sanity' 2011-03-28 19:14:24 -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
9c65ab3516 Add missing effect chance to Twister. #565 2011-03-14 22:32:06 -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
2375c3117c Actually test :foo in test_crash_empty_prefix 2011-03-13 15:43:01 -07:00
Petr Viktorin
980ae01d10 Fix connect() without arguments 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
Petr Viktorin
bbfaa73f80 Fix up the migration
The script got some things wrong; fix those up manually.
Also remove the migration script, as it won't work any more.
2011-03-13 15:41:23 -07:00
Petr Viktorin
a551feb785 Move English texts to language-specific tables
(See parent commit for rebasing instructions)
2011-03-13 15:41:22 -07:00
Eevee
625aa19fbd Preserve the order of TextColumns and ProseColumns. 2011-03-13 15:40:46 -07:00
Petr Viktorin
b962a1b4fe Make lookup index respect the moved names 2011-03-13 15:10:11 -07:00
Petr Viktorin
1a43df032a Add data to language table
Add English as a language

Add columns:
  identifier: same as iso639 except 'roomaji' for Roomaji
  order: English first, then Japanese and Roomaji, others undefined
  official: True for all the languages so far
2011-03-13 15:10:11 -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
Lynn "Zhorken" Vaughan
59f1e835f4 Some ability changes/fixes. #561 2011-03-12 21:58:36 -05:00
Brigit Lemanski
c68de245a8 Fixing short desc for Acid Spray. 2011-03-12 18:49:12 -08:00
Eevee
acb156d28d Give calculated_stat and calculated_hp the same signature. 2011-03-10 22:12:03 -08:00
Lynn "Zhorken" Vaughan
65d80fc2e8 Add Spanish B/W names. 2011-03-10 12:02:55 -05:00
Lynn "Zhorken" Vaughan
c397438e7c Add Italian names for B/W stuff. 2011-03-10 12:02:55 -05:00
Lynn "Zhorken" Vaughan
b3c6876f86 Add German names for B/W stuff. 2011-03-10 12:02:55 -05:00
Lynn "Zhorken" Vaughan
d05e5bf427 Remove the erroneous Dusclops-only Thief tutor. 2011-03-10 12:02:53 -05: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
Eevee
2f11f0b81f Add a SaveFilePokemon accessor to get the form. 2011-03-08 22:28:33 -08:00
Lynn "Zhorken" Vaughan
334a578133 Add French names from B/W for everything. #252
Also give la Passe Éon an accent to match the Latis being les Pokémon
Éon.  (No other items not in B/W seem to need accents added.)
2011-03-03 13:19:04 -05:00
Lynn "Zhorken" Vaughan
61c0662264 Add B/W ability flavour text. 2011-03-02 19:37:06 -05:00
Lynn "Zhorken" Vaughan
52ed7e9398 Add B/W Pokémon flavour text! 2011-03-02 18:58:36 -05:00
Lynn "Zhorken" Vaughan
c721ffbcaf Add B/W move flavour text. 2011-03-02 18:43:25 -05:00
Lynn "Zhorken" Vaughan
28403631d9 Add B/W item flavour text. 2011-03-02 18:39:22 -05:00
Lynn "Zhorken" Vaughan
a2511817b3 B/W item names. #451
The god stone is listed as ???, so I'm keeping it as it is for now.
2011-03-02 18:08:24 -05:00
Lynn "Zhorken" Vaughan
0aeeb1ec58 Fix Markdown references to Gen V stuff. 2011-03-02 18:00:31 -05:00
Lynn "Zhorken" Vaughan
71b78a631c English names for everything! #451 2011-03-02 17:18:55 -05: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
4a71461720 Fix references to Dragon Tail and Round. 2011-02-10 21:45:03 -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
Lynn "Zhorken" Vaughan
f7a222ed1d Add names revealed 2011-02-10. #451
Actually from pokemonblackwhite.com this time!  Woo!
2011-02-10 21:02:00 -05:00
Eevee
1bfbaa67b1 Add a couple relations for move effect changelogs. 2011-02-09 23:39:03 -08:00
Eevee
96c5c6a09f Use engine_from_config for database connections. #390 2011-02-09 23:39:03 -08:00
Brigit Lemanski
405c90941c Cleaning up move_changelog and move_effect_changelog, #78 #530
Probably will need a second passthrough to make it more sensible.
Also probably missed some effect changes.
Still, it's a step or two.
2011-02-09 18:38:02 -05:00
a_magical_me
2079cccb72 Load/dump dance. 2011-02-06 02:02:54 -08:00
Lynn "Zhorken" Vaughan
6c11455b28 Tympole and Timburr; also Basculin's forms are Stripe*d*. #451
Tympole and Timburr:
http://www.officialnintendomagazine.co.uk/article.php?id=23389
2011-02-02 02:46:15 -05:00
Lynn "Zhorken" Vaughan
70e04dda47 Add more newly-revealed names. #451 2011-02-01 11:15:38 -05: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
Lynn "Zhorken" Vaughan
2f4bc6a771 Castform's forms are all "the Weather Pokémon". 2011-01-28 14:52:58 -05:00
Lynn "Zhorken" Vaughan
662097888c Add new names revealed by IGN on 2011-01-27. #451
http://ds.ign.com/articles/114/1143911p2.html
2011-01-28 13:48:58 -05:00
Petr Viktorin
497ba412b0 Speed tweaks for pokedex load in SQLite 2011-01-27 21:51:30 -08:00
Eevee
570719499d Remove useless encounter_slot_conditions table. #297 2011-01-27 20:44:57 -08:00
Eevee
8a74d34f47 Merge fishing and surfing swarms into regular swarms. #297 2011-01-27 20:44:57 -08:00
Eevee
7c69492aeb Removed a ton of nonsensical HG/SS swarm encounters. #297 2011-01-27 20:44:56 -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
3651810467 Add names for Victini and the Liberty Pass. #451
http://bulbanews.bulbagarden.net/wiki/Liberty_Pass_event_announced_for_North_America_and_PAL_regions
I have no idea where they actually got this press release, but whatever.
2011-01-25 00:14:11 -05: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