diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-09-28 16:28:31 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-09-28 16:28:31 +0200 |
| commit | a7ba6cde9c7951fa54cf031deb3bebc8d511bf95 (patch) | |
| tree | 89e2e1f62bc3973dde713099af357a33264256dd /odoo/tools/translate.py | |
| parent | d04a42022b2338d529d245080fa506f72cdc8daa (diff) | |
| parent | 7134affc89c3ad04b365e64b49b911c8bc3f433e (diff) | |
[MERGE] forward port branch saas-12 up to 7134aff
Diffstat (limited to 'odoo/tools/translate.py')
| -rw-r--r-- | odoo/tools/translate.py | 16 |
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 # |
