### Text roles
def generic_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
- node = docutils.nodes.strong(text, rawtext, **options)
+ node = docutils.nodes.emphasis(rawtext, text, **options)
return [node], []
roles.register_local_role('ability', generic_role)
roles.register_local_role('item', generic_role)
roles.register_local_role('move', generic_role)
+roles.register_local_role('type', generic_role)
roles.register_local_role('pokemon', generic_role)
roles.register_local_role('mechanic', generic_role)
lie and it doesn't yet.
"""
+ def __init__(self, effect_column):
+ self.effect_column = effect_column
+
def __get__(self, move, move_class):
# Attach a function for handling the `data` role
# XXX make this a little more fault-tolerant.. maybe..
newtext = getattr(move, text[5:])
return docutils.nodes.Text(newtext, rawtext)
- return RstString(move.move_effect.effect,
+ return RstString(getattr(move.move_effect, self.effect_column),
document_properties=dict(
_pokedex_handle_data=data_role_func))
__tablename__ = 'move_effects'
id = Column(Integer, primary_key=True, nullable=False)
priority = Column(SmallInteger, nullable=False)
- short_effect = Column(Unicode(128), nullable=False)
+ short_effect = Column(Unicode(256), nullable=False)
effect = Column(Unicode(5120), nullable=False)
class MoveTarget(TableBase):
Move.target = relation(MoveTarget, backref='moves')
Move.type = relation(Type, backref='moves')
-Move.effect = rst.MoveEffectProperty()
+Move.effect = rst.MoveEffectProperty('effect')
Move.priority = association_proxy('move_effect', 'priority')
-Move.short_effect = association_proxy('move_effect', 'short_effect')
+Move.short_effect = rst.MoveEffectProperty('short_effect')
Pokemon.abilities = relation(Ability, secondary=PokemonAbility.__table__,
order_by=PokemonAbility.slot,