changeset 3905:f7bf0cebe391 beta

Switch gravatar to always use ssl. - there's no reason why not to. - removed thread locals imports thanks to that - use internal RhodeCode config for alternative gravatar url
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 28 May 2013 17:20:46 +0200
parents fe053a42c4ce
children a2de0de0a4a9
files rhodecode/lib/helpers.py
diffstat 1 files changed, 10 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/helpers.py	Tue May 28 16:57:24 2013 +0200
+++ b/rhodecode/lib/helpers.py	Tue May 28 17:20:46 2013 +0200
@@ -16,7 +16,7 @@
 from datetime import datetime
 from pygments.formatters.html import HtmlFormatter
 from pygments import highlight as code_highlight
-from pylons import url, request, config
+from pylons import url
 from pylons.i18n.translation import _, ungettext
 from hashlib import md5
 
@@ -778,17 +778,20 @@
 # GRAVATAR URL
 #==============================================================================
 
-def gravatar_url(email_address, size=30):
+def gravatar_url(email_address, size=30, ssl_enabled=True):
     from pylons import url  # doh, we need to re-import url to mock it later
-    _def = 'anonymous@rhodecode.org'
-    use_gravatar = str2bool(config['app_conf'].get('use_gravatar'))
+    from rhodecode import CONFIG
+
+    _def = 'anonymous@rhodecode.org'  # default gravatar
+    use_gravatar = str2bool(CONFIG.get('use_gravatar'))
+    alternative_gravatar_url = CONFIG.get('alternative_gravatar_url', '')
     email_address = email_address or _def
-    if (not use_gravatar or not email_address or email_address == _def):
+    if not use_gravatar or not email_address or email_address == _def:
         f = lambda a, l: min(l, key=lambda x: abs(x - a))
         return url("/images/user%s.png" % f(size, [14, 16, 20, 24, 30]))
 
-    if use_gravatar and config['app_conf'].get('alternative_gravatar_url'):
-        tmpl = config['app_conf'].get('alternative_gravatar_url', '')
+    if use_gravatar and alternative_gravatar_url:
+        tmpl = alternative_gravatar_url
         parsed_url = urlparse.urlparse(url.current(qualified=True))
         tmpl = tmpl.replace('{email}', email_address)\
                    .replace('{md5email}', hashlib.md5(email_address.lower()).hexdigest()) \
@@ -797,7 +800,6 @@
                    .replace('{size}', str(size))
         return tmpl
 
-    ssl_enabled = 'https' == request.environ.get('wsgi.url_scheme')
     default = 'identicon'
     baseurl_nossl = "http://www.gravatar.com/avatar/"
     baseurl_ssl = "https://secure.gravatar.com/avatar/"