Mercurial > libervia-backend
diff src/plugins/plugin_misc_text_syntaxes.py @ 2106:5874da3811b7
plugin text syntaxes: log error on cleanXHTML failure
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 01 Jan 2017 16:38:32 +0100 |
parents | 2daf7b4c6756 |
children | 33c8c4973743 |
line wrap: on
line diff
--- a/src/plugins/plugin_misc_text_syntaxes.py Sun Dec 25 16:43:56 2016 +0100 +++ b/src/plugins/plugin_misc_text_syntaxes.py Sun Jan 01 16:38:32 2017 +0100 @@ -148,6 +148,10 @@ """ return self.host.memory.getParamA(NAME, CATEGORY , profile_key=profile) + def _logError(self, failure, action=u"converting syntax"): + log.error(u"Error while {action}: {failure}".format(action=action, failure=failure)) + return failure + def cleanXHTML(self, xhtml): """ Clean XHTML text by removing potentially dangerous/malicious parts @param xhtml: raw xhtml text to clean (or lxml's HtmlElement) @@ -191,7 +195,9 @@ elt.set("style", clean_style(elt.get('style'))) return html.tostring(xhtml_elt, encoding=unicode, method='xml') - return deferToThread(blocking_cleaning, xhtml) + d = deferToThread(blocking_cleaning, xhtml) + d.addErrback(self._logError, action=u"cleaning syntax") + return d def convert(self, text, syntax_from, syntax_to=_SYNTAX_XHTML, safe=True, profile=None): """Convert a text between two syntaxes