Commit graph

284 commits

Author SHA1 Message Date
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
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
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
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
Eevee
3a59ef1fe0 Update us to SQLAlchemy 0.7. #582 2011-09-04 23:19:56 -07:00
Petr Viktorin
bb49a6bc39 Fix a Unicode docstring 2011-08-30 23:05:28 +03:00
Petr Viktorin
41a168a0e2 Add a missing import, remove some unused ones 2011-08-30 23:05:22 +03:00
Eevee
10ce391098 Nicer docstrings for the three "pokemon" tables we have now. 2011-08-29 20:36:06 -07:00
Petr Viktorin
dd668febe7 Make id lookup util.get use query.get, avoiding queries for dupe lookups 2011-05-06 12:40:44 +03:00
Petr Viktorin
3034c04d59 Allow missing Markdown translation rows (for species' form descriptions) 2011-05-06 12:26:16 +03:00
Petr Viktorin
dd0d225228 Pokemon species split: utilities.
Remove 'simple' altogether, as pokémon are now sane by default!
2011-05-06 12:26:16 +03:00
Petr Viktorin
d0c01810be Pokemon species split: Lookup & Markdown 2011-05-06 12:26:16 +03: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
b711edd511 Port the Markdown value tests from spline-pokedex. Fix remaining strings. 2011-04-28 23:43:54 +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
059f7dfc55 Autofill empty labels in Markdown links
- as_text() is now a function that takes the session as an argument
- likewise as_html(), which also takes URL makers and the language
- since there should be only one link extension, it is registered by
  setting default_link_extension, not appending to markdown_extensions.
  This only affects the __html__ attribute.
2011-04-28 23:42:56 +03:00
Petr Viktorin
051d6563a4 Don't try to replace the $effect_chance in missing effect translations 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
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