diff options
| author | Denis Ledoux <dle@odoo.com> | 2016-06-13 17:27:08 +0200 |
|---|---|---|
| committer | Denis Ledoux <dle@odoo.com> | 2016-06-13 17:30:59 +0200 |
| commit | 2d47ea256378010f995e846aea3ecd63b7b4f2ab (patch) | |
| tree | b76ce2f4df1333dc7c702df0880ed1a3faee4272 /addons/link_tracker/models/link_tracker.py | |
| parent | 3b4560cf4270ca21189d40e639f78091ca2d5219 (diff) | |
[FIX] link_tracker: page title encoding
When tracking a page with special characters
in the title (e.g. `Ä`), the title
of the page in the tracked links was
badly encoded, because the
encoding was not handled correctly
when parsing the given website page.
opw-679993
Diffstat (limited to 'addons/link_tracker/models/link_tracker.py')
| -rw-r--r-- | addons/link_tracker/models/link_tracker.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/addons/link_tracker/models/link_tracker.py b/addons/link_tracker/models/link_tracker.py index f387a7e6e7f..4de629fc517 100644 --- a/addons/link_tracker/models/link_tracker.py +++ b/addons/link_tracker/models/link_tracker.py @@ -4,13 +4,14 @@ import random import re import string -from lxml.html import parse +from lxml import html from urllib2 import urlopen from urlparse import urljoin from urlparse import urlparse from werkzeug import url_encode from openerp import models, fields, api, _ +from openerp.tools import ustr URL_REGEX = r'(\bhref=[\'"](?!mailto:)([^\'"]+)[\'"])' @@ -108,7 +109,7 @@ class link_tracker(models.Model): def _get_title_from_url(self, url): try: page = urlopen(url, timeout=5) - p = parse(page) + p = html.fromstring(ustr(page.read()).encode('utf-8'), parser=html.HTMLParser(encoding='utf-8')) title = p.find('.//title').text except: title = url |
