changeset 4899:9ee018948dcd

helpers: fix gravatar handling with (invalid) non-ascii email addresses It would crash with UnicodeDecodeError when trying to expand unicode email into utf8 template.
author Mads Kiilerich <madski@unity3d.com>
date Wed, 11 Mar 2015 00:24:25 +0100
parents d4b1b40b41ac
children 9ecd1d4836cc
files kallithea/lib/helpers.py
diffstat 1 files changed, 1 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/lib/helpers.py	Wed Mar 11 00:24:25 2015 +0100
+++ b/kallithea/lib/helpers.py	Wed Mar 11 00:24:25 2015 +0100
@@ -893,9 +893,6 @@
     _gravatar_url = c.visual.gravatar_url or User.DEFAULT_GRAVATAR_URL
 
     email_address = email_address or _def
-    if isinstance(email_address, unicode):
-        #hashlib crashes on unicode items
-        email_address = safe_str(email_address)
 
     if not _use_gravatar or not email_address or email_address == _def:
         return ""
@@ -906,7 +903,7 @@
         tmpl = _gravatar_url
         parsed_url = urlparse.urlparse(url.current(qualified=True))
         tmpl = tmpl.replace('{email}', email_address)\
-                   .replace('{md5email}', _md5(email_address.lower())) \
+                   .replace('{md5email}', _md5(safe_str(email_address).lower())) \
                    .replace('{netloc}', parsed_url.netloc)\
                    .replace('{scheme}', parsed_url.scheme)\
                    .replace('{size}', safe_str(size))