summaryrefslogtreecommitdiff
path: root/addons/link_tracker/models/link_tracker.py
diff options
context:
space:
mode:
authorDenis Ledoux <dle@odoo.com>2016-06-13 17:27:08 +0200
committerDenis Ledoux <dle@odoo.com>2016-06-13 17:30:59 +0200
commit2d47ea256378010f995e846aea3ecd63b7b4f2ab (patch)
treeb76ce2f4df1333dc7c702df0880ed1a3faee4272 /addons/link_tracker/models/link_tracker.py
parent3b4560cf4270ca21189d40e639f78091ca2d5219 (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.py5
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