summaryrefslogtreecommitdiff
path: root/odoo/tools/translate.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-09-28 16:28:31 +0200
committerChristophe Simonis <chs@odoo.com>2016-09-28 16:28:31 +0200
commita7ba6cde9c7951fa54cf031deb3bebc8d511bf95 (patch)
tree89e2e1f62bc3973dde713099af357a33264256dd /odoo/tools/translate.py
parentd04a42022b2338d529d245080fa506f72cdc8daa (diff)
parent7134affc89c3ad04b365e64b49b911c8bc3f433e (diff)
[MERGE] forward port branch saas-12 up to 7134aff
Diffstat (limited to 'odoo/tools/translate.py')
-rw-r--r--odoo/tools/translate.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/odoo/tools/translate.py b/odoo/tools/translate.py
index 845b23c44e1..ebc3dd616f7 100644
--- a/odoo/tools/translate.py
+++ b/odoo/tools/translate.py
@@ -305,12 +305,16 @@ def html_translate(callback, value):
if not value:
return value
- parser = etree.HTMLParser(encoding='utf-8')
- trans = XMLTranslator(callback, 'html', parser)
- wrapped = "<div>%s</div>" % encode(value)
- root = etree.fromstring(wrapped, parser)
- trans.process(root[0][0]) # html > body > div
- return trans.get_done()[5:-6] # remove tags <div> and </div>
+ try:
+ parser = etree.HTMLParser(encoding='utf-8')
+ trans = XMLTranslator(callback, 'html', parser)
+ wrapped = "<div>%s</div>" % encode(value)
+ root = etree.fromstring(wrapped, parser)
+ trans.process(root[0][0]) # html > body > div
+ value = trans.get_done()[5:-6] # remove tags <div> and </div>
+ except ValueError:
+ _logger.exception("Cannot translate malformed HTML, using source value instead")
+ return value
#