Commit graph

413 commits

Author SHA1 Message Date
Andrew Ekstedt 99184a6fde Knock Unicode(256) down to Unicode(79)
MySQL again. Indexed keys have a maximum length of 767 bytes and unicode
is stored as 3 bytes per character. Since 256*3 = 768, that pushes us
just past the limit. Could lower the length to 255 characters, but let's
go further - currently only names and identifers have a length limit,
and if a name or identifier doesn't fit in a terminal then i don't want
to see it.

Fixes issue #123.
2014-05-13 23:26:07 -07:00
Andrew Ekstedt 9e3bfd7971 Use Unicode(256) for names and identifiers.
MySQL requires that text columns that are indexed or used as keys be
given a maximum length.

256 bytes should be enough for anyone.
2014-03-13 00:29:49 -07:00
Lynn "Zhorken" Vaughan 7462c0fc1b Put short_effect before effect in ability_prose.
This way it matches /all the other prose tables/.  Relatedly, all the
abilities I recently expanded on had short_effect and effect swapped,
so I fixed that too.
2014-03-12 12:18:37 -04:00
Lynn "Zhorken" Vaughan 308f5f4ed9 Use UnicodeText for all text columns. 2014-03-11 20:15:16 -04:00
Lynn "Zhorken" Vaughan 5ddbee886f Update the docstring on rewrite_long_table_names. 2014-02-21 17:59:52 -05:00
Lynn "Zhorken" Vaughan f54a4caaca General code tidying for this Oracle fix. 2014-02-21 17:48:19 -05:00
Lynn "Zhorken" Vaughan 5b759feaa2 Sort out all the non-nullable columns with empty values. 2014-02-21 17:48:19 -05:00
Epithumia 7b2743be75 Dynamically mangle long table names for Oracle; Unicode → UnicodeText. 2014-02-21 17:47:55 -05:00
Andrew Ekstedt 717e52b66a Limit Unicode columns to 4000 characters. Fixes #102.
This is the maximum length of an NVARCHAR column in SQL Server 2012.[1]

Our longest bit of prose is currently Substitute's effect, at 3180
characters.

[1]: http://technet.microsoft.com/en-us/library/ms186939.aspx
2013-11-16 16:50:15 -08:00
Andrew Ekstedt 7bb20406b7 Don't import * from sqlalchemy.types 2013-11-16 16:03:37 -08:00
Lynn "Zhorken" Vaughan 5ec50ea26c Make the rest of the tests pass. 2013-11-09 03:49:09 -05:00
Lynn "Zhorken" Vaughan 9394c747cb Add new evolution info. 2013-11-06 11:51:44 -05:00
Lynn "Zhorken" Vaughan 66071291a6 Split Pokédex version groups into their own table again.
spline-pokedex doesn't need to adapt; Pokedex.version_groups looks the
same as always and VersionGroup.pokedex wasn't used anywhere.
2013-11-06 09:47:49 -05:00
Lynn "Zhorken" Vaughan 136359cf4a Tweak a couple new ability descriptions. 2013-11-05 11:27:09 -05:00
Andrew Ekstedt e151162a8b Add identifiers for version groups. 2013-11-01 14:34:51 -07:00
Andrew Ekstedt 94f120421c Add Pokemon.base_stat method. 2013-10-31 16:08:32 -07:00
Andrew Ekstedt b412bfaa8e Add is_mega column to pokemon_forms. 2013-10-28 12:21:58 -07:00
Lynn "Zhorken" Vaughan 3a117f8dfd Add identifiers for pokemon and pokemon_forms. 2013-10-28 03:14:36 -04:00
Andrew Ekstedt 95fec6065f Remove another innerjoin.
Shadow moves have no MoveMeta.
2013-10-27 15:31:20 -07:00
Andrew Ekstedt fdf87cf8ce Remove some innerjoins which no longer hold. 2013-10-19 15:22:16 -07:00
Andrew Ekstedt 38ce28e48f Drop Generation.canonical_pokedex.
Generation VI doesn't have a canonical pokedex (it has three). We don't
use this anywhere and as far as i can tell we never have. We can revive
it in another form if and when we find we need it.

Conflicts:
	pokedex/data/csv/generations.csv
	pokedex/db/tables.py
2013-10-18 18:58:07 -07:00
Eevee (Alex Munroe) d667024937 Force MySQL to NOT auto-inc pokemon_moves.level. 2013-08-12 23:15:03 -07:00
Petr Viktorin bbb3ab09e3 Add __tablename__ to translation tables
This makes it easier to write introspection scripts.
2013-08-07 14:13:04 +02:00
Lynn "Zhorken" Vaughan e0beddc573 Add an is_main_series column to abilities. 2013-07-04 03:50:34 -04:00
Lynn "Zhorken" Vaughan 501a5ce74f Ditch server_default in conquest_pokemon_evolution. #96 2013-03-17 02:18:11 -04:00
Eevee 1cee46f0c0 Add a length back to color names; breaks MySQL otherwise. 2013-03-10 13:56:42 -07:00
Eevee 439eeffdd2 Why does color name have a length limit? I am stupid. 2013-02-07 00:47:07 -08:00
Lynn "Zhorken" Vaughan 9c72fe73e0 Add a VersionGroup.pokemon_moves relation. 2012-11-18 16:01:24 -05:00
Eevee 59dfb885e1 Add a couple more pokemon -> ability accessors. 2012-11-17 04:12:54 -08:00
Lynn "Zhorken" Vaughan 7f781db1d7 Change "dream ability" to "hidden ability". 2012-11-04 19:03:11 -05:00
Lynn "Zhorken" Vaughan 1d3e5af093 Switch pokemon_game_indices to version_id; add B/W 2 indices.
version_id rather than version_group_id for the sake of FR/LG Deoxys.
It seems a little silly but magical's on board with this decision too.
2012-11-03 03:51:29 -04:00
Andrew Ekstedt ca5b7a9cbf Add B/W encounter methods and conditions
Spots: it might seem like they should be conditions, but in practice
they behave more like methods. Specifically, conditions typically make
only minor changes to an encounter list. Spots change everything.
So spots are added as methods, with each type of spot as a separate
method. Not exactly ideal, but this causes the least fuss.

Seasons work fine as conditions.

Well, as well as time-of-day.
2012-09-28 23:00:53 -07:00
Andrew Ekstedt c5fee20ef1 Make Encounter.condition_values a relationship(). 2012-09-27 12:59:16 -07:00
Lynn "Zhorken" Vaughan c3f2919ef3 Minor cleanup in tables.py to make tests pass. 2012-09-25 21:18:53 -04:00
Lynn "Zhorken" Vaughan 765be26405 Add episodes and warrior transformation info. 2012-08-17 01:50:09 -04:00
Lynn "Zhorken" Vaughan ac3aee12ee Add innerjoin=True and add/remove lazy='joined' on a bunch of relationships. 2012-08-07 00:14:22 -04:00
Lynn "Zhorken" Vaughan f11058dd2f Toss the capacity column now that it's a stat. 2012-08-07 00:13:00 -04:00
Lynn "Zhorken" Vaughan 95422bc985 Only markdownify $target if move.range exists. 2012-08-06 14:10:36 -04:00
Lynn "Zhorken" Vaughan b3ade1ecf1 De-convolute my attempt at broadening MoveEffectProperty. 2012-08-05 20:39:03 -04:00
Lynn "Zhorken" Vaughan 0596032d00 Flesh out move effects some more. 2012-08-04 23:50:39 -04:00
Lynn "Zhorken" Vaughan 789a1bdc0e Add target counts for Conquest move ranges. 2012-08-04 19:55:55 -04:00
Lynn "Zhorken" Vaughan 14232f0e74 Add prose for most things move-related. 2012-08-03 20:37:28 -04:00
Lynn "Zhorken" Vaughan 707b34fb8f Add Conquest move info. 2012-08-03 13:03:56 -04:00
Lynn "Zhorken" Vaughan 3c76c08042 Add and tweak more relationships. 2012-07-31 23:44:02 -04:00
Lynn "Zhorken" Vaughan 47410a9e9c Add generic warrior archetypes. 2012-07-29 17:58:30 -04:00
Lynn "Zhorken" Vaughan d3693319f1 Add Conquest gallery order. 2012-07-28 11:04:02 -04:00
Lynn "Zhorken" Vaughan 0d1818002e Add a bunch of relationships for Conquest stuff. 2012-07-28 11:04:02 -04:00
Lynn "Zhorken" Vaughan f2441a3f80 Add warriors' stats. 2012-07-28 11:04:02 -04:00
Lynn "Zhorken" Vaughan 4597b970b0 Use gender symbols in the player characters' names.
I spent longer than I should have deliberating, but in the end, it came
down to the fact that searching for "Player" won't fuzzy-match the long
versions.
2012-07-28 11:04:02 -04:00
Lynn "Zhorken" Vaughan 22a079390d Add Conquest Pokémon abilities and moves. 2012-07-28 11:04:02 -04:00
Lynn "Zhorken" Vaughan 2dbd5da8e2 Add Conquest Pokémon stats. 2012-07-28 11:04:02 -04:00
Lynn "Zhorken" Vaughan 7e1a71bc8c Separate Conquest stats from main-series stats. 2012-07-28 11:04:02 -04:00
Lynn "Zhorken" Vaughan 3700b78ba2 Add an ID column to warrior ranks. 2012-07-28 11:04:02 -04:00
Lynn "Zhorken" Vaughan b119844bd1 Add Conquest warriors and a bunch of data on them. 2012-07-28 11:04:01 -04:00
Lynn "Zhorken" Vaughan cd4dfcf4f4 Turn gender into a table. 2012-07-28 11:03:52 -04:00
Lynn "Zhorken" Vaughan 543419afcd Add Conquest kingdoms and Pokémon evolution. 2012-07-23 17:34:44 -04:00
Lynn "Zhorken" Vaughan bf8d94ef08 Order Pokemon.items() by rarity descending. 2012-06-22 23:18:56 -04:00
Lynn "Zhorken" Vaughan 13e2709668 Merge branch 'generated-order' 2012-06-21 14:07:22 -04:00
Andrew Ekstedt 5ddb7911a2 Improve PalPark table docs slightly.
Also add format='identifier' to PalParkArea.identifier, which was
causing a failure in test_schema.
2012-06-09 03:06:06 -07:00
Andrew Ekstedt 2af1d5f428 Merge branch 'doc' 2012-06-08 23:32:43 -07:00
Andrew Ekstedt 527b3ce056 Remove _add_relationships.
Back out all the _add_relationships functions. This leaves tables.py
almost unchanged from before their addition, except for some added
documentation.
2012-06-08 23:31:35 -07:00
Andrew Ekstedt 739c6fdd7c Sort relationships by creation order.
Also:

- Split association proxies into their own section.

- Remove relationship_info.
2012-06-08 23:31:35 -07:00
Andrew Ekstedt 04b941755a Introspect relationships directly.
Possibly more fragile, but this way we don't need _set_relationships.

SQLAlchemy version bump for AssociationProxy.remote_attr.
2012-06-08 23:29:44 -07:00
Lynn "Zhorken" Vaughan 6e103af3e0 Order PokemonEggGroup.species by Pokémon *species* order. 2012-06-07 02:07:29 -04:00
Lynn "Zhorken" Vaughan 4aa637caf2 Fix form_order's description in tables.py. 2012-06-07 02:05:10 -04:00
Lynn "Zhorken" Vaughan ec048f3221 Add and populate pokemon_species.order. 2012-06-06 23:32:10 -04:00
Lynn "Zhorken" Vaughan 649162e79e Add and populate pokemon_forms.form_order. 2012-06-06 23:28:30 -04:00
Andrew Ekstedt 48c3eff597 Turn PalPark.area Enum into a table. 2012-06-02 00:17:53 -07:00
Andrew Ekstedt 6e2f7af7b2 Add Pal Park data. 2012-06-01 18:14:23 -07:00
Eevee 3511bf3076 Ahem, ACTUALLY drop types when loading. 2012-03-31 21:30:05 -07:00
Eevee 987116f662 Fix duplicate type errors when loading into postgresql. 2012-03-30 23:33:48 -07:00
Eevee 5338d44272 Merge pull request #69 from encukou/i18n
Allow ordering and filtering on translatable texts, e.g. `Move.name`
2012-03-25 01:22:39 -07:00
Lynn "Zhorken" Vaughan 12b87852c6 Add game indices for the main six stats. 2012-03-20 03:33:18 -04:00
Lynn "Zhorken" Vaughan 61ed3c4ccb Add a VersionGroup.machines relationship. 2012-02-29 00:33:03 -05:00
Lynn "Zhorken" Vaughan cdf052555b Eagerload Pokemon.forms.
This fixes all those spline-pokedex tests that broke when I fixed
Pokémon name display.
2012-02-28 21:28:58 -05:00
Eevee 75287587a2 Merge pull request #66 from encukou/internal-ids
Add internal IDs to forms
2012-02-28 17:14:43 -08:00
Eevee 0e766d309c Merge pull request #65 from encukou/xd-tutor
Add the VersionGroupPokemonMoveMethod table
2012-02-23 19:42:31 -08:00
Lynn "Zhorken" Vaughan 2073fa5089 Support null regional Pokédex for Colosseum/XD. #70 2012-02-16 11:37:04 -05:00
Petr Viktorin 391fd1c1ac Support association proxies 2012-02-12 23:43:14 +01:00
Petr Viktorin ef3fb2f536 Move relationships to _add_relationships calls: Pokemon 2012-02-12 23:43:14 +01:00
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 96499fae30 Allow ordering and filtering on translated texts, e.g. Move.name 2012-02-12 09:50:04 +01:00
Petr Viktorin 50b08d94d9 Make a few __get__ methods work properly on their class
Automatic doc generation requires this.
2012-02-11 22:54:46 +01:00
Petr Viktorin 81f2c83ad5 Allow ordering and filtering on translated texts, e.g. Move.name 2012-02-11 21:05:52 +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 3607b9b3e1 Let MoveEffectProperty be None if the move_effect is None
MoveChangelog.move_effect is None if there is no effect change.
Its .effect should just be None as well.
2011-11-14 21:17:12 +02:00
Petr Viktorin ebab8c6e43 Try importing markdown utilities from markdown.util
etree and AtomicString will be moved in python-markdown 2.1

See commit https://github.com/waylan/Python-Markdown/commit/89a4f3d0829a7 :
    Cleaned up markdown namespace. This may be a backward incompatible
    change for some extensions. They should be importing from
    markdown.util
2011-09-22 00:51:59 +03:00
Petr Viktorin 719c32de0b Make MarkdownString.as_html() accept an extension object, not class
No reason to instantiate every time as_html's called, is there?

Also, sessions use a markdown_extension attribute instead of
markdown_extension_class. The latter is only used to set the former when
the session is created (unless another markdown_extension_class is given,
of course).
2011-09-22 00:51:59 +03:00
Petr Viktorin 928eaca4a4 Make bad links in Markdown not fail
Links such as []{pokemon:mewthree} can come from users, so they should not
crash the parser.
So, when an object is not found (or more than one is found), call
identifier_url() directly, instead of failing to get the object for
object_url(). Essentially, treat the link as having an unknown category
(like mechanic:, currently).

The test that check the pokédex descriptions updated so that only
links to known objects and "mechanic:" are allowed.
2011-09-22 00:51:59 +03:00
Petr Viktorin cdac374eed Allow links to Pokémon forms in Markdown. Fixes #465
Linked-to objects aren't required to have identifiers now, so object_url()
in custom extensions might need to be changed.
The one in the test did, for example.
2011-09-22 00:51:59 +03:00
Petr Viktorin d8d32a0176 Use identifiers in Pokemon.stat 2011-09-22 00:51:59 +03:00
Eevee a11261e529 Fix a stupid closure-in-loop problem. #654 #655 2011-09-11 17:27:58 -07:00
Eevee 25ab674c7c Fix this markdown extension nonsense.
Previously, every single spline-pokedex request tacked another markdown
extension onto a global list in spline, making markdown processing just
a little bit slower over time.  This is terrible.

Now we do something a little less crazy and a little more global.  Wait,
is that less crazy or more?
2011-09-06 21:52:27 -07:00