From: Eevee Date: Sun, 14 Mar 2010 02:11:40 +0000 (-0800) Subject: Make rst as_html handle errors a little more nicely. X-Git-Tag: veekun-promotions/2010050901~85 X-Git-Url: http://git.veekun.com/zzz-pokedex.git/commitdiff_plain/e8a88a71dc6ad2ae6d18a810f627d50ec97cc62c?ds=inline Make rst as_html handle errors a little more nicely. --- diff --git a/pokedex/db/rst.py b/pokedex/db/rst.py index 80ac87e..a77feef 100644 --- a/pokedex/db/rst.py +++ b/pokedex/db/rst.py @@ -33,6 +33,8 @@ are, apparently, global. return a reST node. """ +import cgi + from docutils.frontend import OptionParser from docutils.io import Output import docutils.nodes @@ -131,8 +133,17 @@ class RstString(object): """Returns the string as HTML4.""" document = self.rest_document - destination = UnicodeOutput() + # Check for errors; don't want to leave the default error message cruft + # in here + if document.next_node(condition=docutils.nodes.system_message): + # Boo! Cruft. + return u""" +

Error in markup! Raw source is below.

+
{0}
+ """.format( cgi.escape(self.source_text) ) + + destination = UnicodeOutput() writer = HTMLFragmentWriter() return writer.write(document, destination)