Commit graph

395 commits

Author SHA1 Message Date
Petr Viktorin
98dcc613e2 Use relationship() instead of the deprecated relation(). #596 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
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
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
11c0c4778b Add media accessors 2011-04-17 20:55:57 -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
Petr Viktorin
695347bcff Update markdown.py docstring 2011-04-12 11:10:36 +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
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
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
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
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
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
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
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
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
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
3bfb7f0bb9 Update the comment for the Postgres version of pokedex load. 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
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
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
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
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
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
Eevee
96c5c6a09f Use engine_from_config for database connections. #390 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
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
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
17037f53d3 Use absolute_import in markdown.py, to fix import problem. 2010-06-02 00:17:27 -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
a_magical_me
febfb239fb Python 2.5 compatibility 2010-05-25 14:41:15 -07: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
a_magical_me
ffc30bff8f Factor out logic for finding the default db/index. #180
Note: `if not x:` has changed to `if x is not None:`, changing the
semantics slightly.  Shouldn't be a big issue.
2010-05-13 21:45:51 -07:00
Eevee
5e52bef91a Make plumbing respect the same env vars as the CLI. #180 2010-05-12 23:23:05 -07: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
Eevee
f8145b87e4 Restored Item.appears_underground and added location support to rst. 2010-05-03 01:00:38 -07:00
Eevee
d98632aa50 Broke existing item flags out into their own table. 2010-05-03 01:00:38 -07:00
Eevee
853a6eb921 Added item HG/SS flavor text and internal ids. #168? 2010-05-03 01:00:37 -07:00
a_magical_me
941bce52d7 Add experience tables. 2010-04-27 14:53:47 -07:00
Eevee
58dccb1803 Jammed in a bunch of nature stuff. 2010-04-26 23:26:37 -07:00
Eevee
affb8a02fb Turned Move.contest_type into a foreign key. 2010-04-26 21:48:44 -07:00
Eevee
b5fd88bba4 Item tidying; fixed missing és, added ItemPocket.identifier. 2010-04-26 21:13:28 -07:00
Eevee
fa3d205e51 At last, imported item and berry data. #10 2010-04-25 23:23:52 -07:00
Eevee
25c81541ae Use fnmatch for filenameish glob parsing. 2010-04-24 15:37:55 -07:00
Eevee
c9f32a8145 Loading big tables now shows a progress indicator. #180 2010-04-24 14:06:56 -07:00
Eevee
2204b95585 Overhauled CLI. #180
- Everything now accepts -i, -e, -q, and -v.

- Plumbing commands now announce what database/index they're using and
  where they got them from.

- New command status, which does nothing but still does the announcing.

- New command reindex, which recreates only the whoosh index.
2010-04-24 14:06:56 -07:00
a_magical_me
b80d2d2963 Fix location_area_encounter_rates
- encounter_type_id -> encounter_terrain_id

- Added a version_id column. Previous rates were from Diamond and
  HeartGold; these have been copied to Pearl & Platinum and SoulSilver,
  respectively, which i assume is accurate. RBY rates need to be added.
2010-04-21 10:57:23 -07:00
Eevee
55dd46fae7 Support natures in lookup. 2010-04-18 22:43:33 -07:00
Eevee
4ae8bb5f21 Added Pokemon.stat() accessor. 2010-04-16 23:09:32 -07:00
Eevee
e73eca020c Added canonical_pokedex, Pokedex.region, and some Pokédex descriptions. 2010-04-16 23:09:32 -07:00
a_magical_me
ef798afdcb Add slot index to encounter_slots 2010-04-12 23:06:15 -07:00
Eevee
b54501ef94 Why am I importing sqlalchemy.databases.mysql...? 2010-03-28 22:18:26 -07:00
Eevee
b367e70b49 Added natures table. 2010-03-28 22:18:24 -07:00
Eevee
a89a616203 Allow passing engine arguments to connect(). 2010-03-17 00:44:33 -07:00
Zhorken
419f65c90c Added language codes alongside the country codes.
Language codes are ISO 639-1; country codes are ISO 3166-1 alpha-2.

The country codes are important to keep for flags and stuff, I guess,
but reporting the language code as a short form for the language is
more correct.

Gonna see if I can do that, I guess.  I added the language codes mostly
just because I was adding languages.
2010-03-15 23:24:29 -04:00
Eevee
47f5953457 Implemented rst as_text, for showing short move effects outside the Web. 2010-03-15 00:10:08 -07:00
Eevee
e0aeb771b2 Make rst as_html handle errors a little more nicely. 2010-03-15 00:10:08 -07:00
Eevee
6e611d7a54 Fixed the hell out of all remaining form problems.
Every flavor page should work with no missing sprites.  Save perhaps for
Unown, because I honestly don't have them.

Every sprite exists as ###-form.png.  There is also still a ###.png,
containing a reasonable default form, so people who don't give a crap
about this mess can just use the numbered sprites.  Beta forms should
now all be ###-beta.png.

Form groups now have a notion of "in-battle", which is used to hide
overworld sprites when appropriate.

Form sprites have a first-class sense of being a default or not, too.

Deoxys is...  well, let's not talk about Deoxys.  Deoxys is fixed.
2010-03-10 00:19:05 -08:00
Eevee
8280652dd2 Factored habitats into a separate table. 2010-03-03 00:53:00 -08:00
Eevee
5b100b1651 Factored Pokémon colors out into their own table. 2010-03-02 21:11:17 -08:00
Zhorken
f24fb43c1b Corrected a docstring in rst.py. 2010-02-22 00:13:28 -05:00
Zhorken
a2b0218035 Moved Gen-I internal Pokémon IDs to their own Pokédex. 2010-02-17 02:19:48 -05:00
Zhorken
3b88a83fff Added Pokédexes to replace dex numbers' generations.
This deals with Gen IV having two Sinnoh dexes and a Johto dex.
2010-02-17 02:16:59 -05:00
Eevee
81eaf4a9ef Made regions first-class objects. 2010-01-28 01:21:35 -08:00
Eevee
e163c13038 Re-re-ripped HG/SS encounters.
Turns out "fishing swarm 2" is time of day; it represents some water
Pokémon that only appear at night.
2010-01-28 01:21:34 -08:00
Eevee
49be86a9d3 Redumped encounters for all five gen4 games. 2010-01-28 01:21:34 -08:00
Zhorken
4384d56c2c Added types' generations and pre-gen-IV damage classes. 2009-12-19 23:09:27 -08:00
Eevee
c1c0225eb8 Optimized the fuck out of pokedex load.
Major change was to skip the ORM entirely.  Sped it up 500%.
2009-12-09 18:15:51 -08:00
Eevee
e6635b4897 Refactored encounters schema so HG/SS can work.
Conditions are now condition values; condition groups are conditions.
Types are now terrain.  Slots are first-class things.

Encounters' condition values and slots' conditions have been broken off
into their own tables, as HG/SS has several slots affected by multiple
conditions.
2009-12-09 14:35:29 -08:00