X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/acb88ee169b9a8f255f2e72cca2cf6dc94fd02e8..refs/heads/encukou-util:/pokedex/db/markdown.py?ds=sidebyside diff --git a/pokedex/db/markdown.py b/pokedex/db/markdown.py index 09f8067..1ad304c 100644 --- a/pokedex/db/markdown.py +++ b/pokedex/db/markdown.py @@ -5,8 +5,9 @@ The language used is a variation of Markdown and Markdown Extra. There are docs for each at http://daringfireball.net/projects/markdown/ and http://michelf.com/projects/php-markdown/extra/ respectively. -Pokédex links are represented with the extended syntax `[name]{type}`, e.g., -`[Eevee]{pokemon}`. The actual code that parses these is in spline-pokedex. +Pokédex links are represented with the syntax `[text]{type:identifier}`, e.g., +`[Eevee]{pokemon:eevee}`. The actual code that parses these is in +spline-pokedex. """ from __future__ import absolute_import @@ -112,6 +113,9 @@ class MarkdownColumn(sqlalchemy.types.TypeDecorator): impl = sqlalchemy.types.Unicode def process_bind_param(self, value, dialect): + if value is None: + return None + if not isinstance(value, basestring): # Can't assign, e.g., MarkdownString objects yet raise NotImplementedError @@ -119,4 +123,7 @@ class MarkdownColumn(sqlalchemy.types.TypeDecorator): return unicode(value) def process_result_value(self, value, dialect): + if value is None: + return None + return MarkdownString(value)