Commit graph

705 commits

Author SHA1 Message Date
Petr Viktorin 1f2df80a00 Make Pokemon.form an actual relation 2011-04-17 22:34:03 -07:00
Petr Viktorin 4cd68fb5e3 Typo: multilang docstring was wrong 2011-04-17 22:34:02 -07:00
Petr Viktorin dd89c811b8 Move util.py to compatibility.py 2011-04-17 22:30:37 -07:00
Petr Viktorin 7292ede94a Test media accessors, and the media organization itself
A few tests of the accessors, along with a very dumb, long-running script
to ensure everything is in its proper place, and there's nothing but the
proper things.

For now it still finds some beta form cruft for Burmy, Pichu and Cherrim.
2011-04-17 20:55:58 -07:00
Petr Viktorin 11c0c4778b Add media accessors 2011-04-17 20:55:57 -07:00
Petr Viktorin 9edec64de5 Add 'underground' flag to Iron Ball and Light Clay 2011-04-17 20:55:25 -07:00
Petr Viktorin 0f7feab591 Make PokemonForm.pokemon an actual relation 2011-04-17 17:45:10 -07:00
Petr Viktorin 27d33556d4 Load local_language lazily 2011-04-17 17:45:10 -07:00
Eevee 8e1bbe0004 Merge remote-tracking branch 'origin/encukou-translations' 2011-04-17 17:43:42 -07:00
Eevee 47d4d9d334 Fixed some missed markdown identifier conversions. 2011-04-14 08:49:04 -07:00
Petr Viktorin 695347bcff Update markdown.py docstring 2011-04-12 11:10:36 +03:00
Petr Viktorin 77693e4dae Change the Markdown links to always use identifiers 2011-04-12 11:05:47 +03: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
Petr Viktorin ae5225c932 Automatically disambiguate location identifiers
See the script docstring for what was done

Victory Roads and Halls of Origin should probably be hand-tuned later
2011-04-12 07:23:11 +03:00
Petr Viktorin 901c3a02bb Fix a 'Fuschia City' typos in item effects 2011-04-12 02:56:28 +03:00
Petr Viktorin 05cca04306 Add usage text for --langs 2011-04-11 17:07:39 +03:00
Petr Viktorin 34a8070449 Load translations in pokedex load. 2011-04-11 17:07:38 +03:00
Petr Viktorin 817c4c289d Don't dump unofficial translations in pokedex dump
(Translations cannot be dumped properly because the source string hash
isn't in the database.)

By default, unofficial texts are only dumped for English, but that can
be configured if someone wants CSVs for different language(s).

Official texts (<thing>_names rows for official languages) are always
dumped.
2011-04-11 17:07:37 +03:00
Petr Viktorin 0ed5d65384 Add current Czech translations
This makes Git track csv/translations
2011-04-11 17:07:35 +03:00
Petr Viktorin 4c2ad2bdf1 Reading, merging, and writing translations 2011-04-11 17:03:27 +03:00
Eevee 36fa8b7093 Fix a misuse of a set as a dictionary in db loading. 2011-04-10 18:51:03 -07:00
Eevee 72cfea5723 Dozen or so more item effects rewritten. #247 2011-04-10 18:20:20 -07:00
Eevee dc75747175 Effects for the remaining B/W items. #247 2011-04-10 16:41:59 -07:00
Eevee 8fd61ad55d Update item effects with English names. Added new stone evos. 2011-04-10 16:41:59 -07:00
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