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