Petr Viktorin
7767d546ac
Don't recreate the lookup index in tests
2011-04-28 23:31:38 +03:00
Petr Viktorin
3c17720a1c
order_by_name: properly fall back to the specified languages, or identifier
...
Sometimes, translations are incomplete. Handle this gracefully by allowing
fallback languages. If there are none, fall back to the identifier to get
at least some order.
2011-04-28 23:31:38 +03:00
Petr Viktorin
247f7ead43
Add __init__.py to pokedex/util
2011-04-28 23:31:38 +03:00
Lynn "Zhorken" Vaughan
4b5de689f8
Give Rotom's forms an explicit order.
...
The in-game Pokédex actually lists them in this order now, rather than
whatever order you see them in.
2011-04-27 14:25:57 -04:00
Eevee
b2db58afc7
Fix discrepancy between media-accessors branches.
2011-04-17 22:35:24 -07:00
Petr Viktorin
69140a88f5
Move the rest of pokedex.util.get to pokedex.db.util
2011-04-17 22:34:05 -07:00
Petr Viktorin
f271812cf7
Break "simple" query functions out of pokedex.util.get
2011-04-17 22:34:05 -07:00
Petr Viktorin
2f014411e1
Add pokedex.util.get: helpers to get stuff out of the DB easily
2011-04-17 22:34:04 -07:00
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