--- a/UI/Previewers/PreviewerHTML.py Tue Feb 19 19:08:03 2019 +0100 +++ b/UI/Previewers/PreviewerHTML.py Thu Feb 21 19:22:11 2019 +0100 @@ -11,6 +11,7 @@ try: # Only for Py2 import StringIO as io # __IGNORE_EXCEPTION__ + str = unicode except (ImportError, NameError): import io # __IGNORE_WARNING__ @@ -659,6 +660,7 @@ try: import docutils.core # __IGNORE_EXCEPTION__ + import docutils.utils # __IGNORE_EXCEPTION__ except ImportError: return self.tr( """<p>ReStructuredText preview requires the""" @@ -670,8 +672,15 @@ # redirect sys.stderr because we are not interested in it here origStderr = sys.stderr sys.stderr = io.StringIO() - html = docutils.core.publish_string( - text, writer_name=htmlFormat.lower()).decode("utf-8") + try: + html = docutils.core.publish_string( + text, writer_name=htmlFormat.lower()).decode("utf-8") + except docutils.utils.SystemMessage as err: + errStr = str(err).split(":")[-1].replace("\n", "<br/>") + return self.tr( + """<p>Docutils returned an error:</p><p>{0}</p>""" + ).format(errStr) + sys.stderr = origStderr return html