# HG changeset patch # User Mads Kiilerich # Date 1462317505 -7200 # Node ID 7a7b817aa156cf1c4d3b07e44c32221a00679f2b # Parent 9a5cf82c1ea89fa778aa205b6f57a044961e1ac0 helpers: cleanup of gravatar handling diff -r 9a5cf82c1ea8 -r 7a7b817aa156 kallithea/lib/helpers.py --- a/kallithea/lib/helpers.py Wed May 04 01:18:25 2016 +0200 +++ b/kallithea/lib/helpers.py Wed May 04 01:18:25 2016 +0200 @@ -839,7 +839,7 @@ #============================================================================== # GRAVATAR URL #============================================================================== -def gravatar(email_address, cls='', size=30, ssl_enabled=True): +def gravatar(email_address, cls='', size=30): """return html element of the gravatar This method will return an with the resolution double the size (for @@ -847,44 +847,42 @@ empty then we fallback to using an icon. """ - src = gravatar_url(email_address, size*2, ssl_enabled) + src = gravatar_url(email_address, size * 2) - # here it makes sense to use style="width: ..." (instead of, say, a - # stylesheet) because we using this to generate a high-res (retina) size - tmpl = '' + if src: + # here it makes sense to use style="width: ..." (instead of, say, a + # stylesheet) because we using this to generate a high-res (retina) size + html = ('' + .format(cls=cls, size=size, src=src)) - # if src is empty then there was no gravatar, so we use a font icon - if not src: - tmpl = """""" + else: + # if src is empty then there was no gravatar, so we use a font icon + html = ("""""" + .format(cls=cls, size=size, src=src)) - tmpl = tmpl.format(cls=cls, size=size, src=src) - return literal(tmpl) + return literal(html) -def gravatar_url(email_address, size=30, ssl_enabled=True): +def gravatar_url(email_address, size=30): # doh, we need to re-import those to mock it later from pylons import url from pylons import tmpl_context as c + if not c.visual.use_gravatar: + return "" _def = 'anonymous@kallithea-scm.org' # default gravatar - _use_gravatar = c.visual.use_gravatar - _gravatar_url = c.visual.gravatar_url or User.DEFAULT_GRAVATAR_URL - email_address = email_address or _def - if not _use_gravatar or not email_address or email_address == _def: + if email_address == _def: return "" - if _use_gravatar: - _md5 = lambda s: hashlib.md5(s).hexdigest() - - tmpl = _gravatar_url - parsed_url = urlparse.urlparse(url.current(qualified=True)) - tmpl = tmpl.replace('{email}', email_address) \ - .replace('{md5email}', _md5(safe_str(email_address).lower())) \ - .replace('{netloc}', parsed_url.netloc) \ - .replace('{scheme}', parsed_url.scheme) \ - .replace('{size}', safe_str(size)) - return tmpl + parsed_url = urlparse.urlparse(url.current(qualified=True)) + url = (c.visual.gravatar_url or User.DEFAULT_GRAVATAR_URL ) \ + .replace('{email}', email_address) \ + .replace('{md5email}', hashlib.md5(safe_str(email_address).lower()).hexdigest()) \ + .replace('{netloc}', parsed_url.netloc) \ + .replace('{scheme}', parsed_url.scheme) \ + .replace('{size}', safe_str(size)) + return url class Page(_Page): """ diff -r 9a5cf82c1ea8 -r 7a7b817aa156 kallithea/public/js/base.js --- a/kallithea/public/js/base.js Wed May 04 01:18:25 2016 +0200 +++ b/kallithea/public/js/base.js Wed May 04 01:18:25 2016 +0200 @@ -1076,18 +1076,19 @@ + "" + full.substring(matchindex + snippet.length); }; -var gravatar = function(link, size, cssclass) { - var elem = ''.format(size, link, cssclass); - if (!link) { - elem = ''.format(size, cssclass); +var gravatar = function(gravatar_lnk, size, cssclass) { + if (!gravatar_lnk) { + return ''.format(size, cssclass); } - return elem; + return ''.format(size, gravatar_lnk, cssclass); } -var autocompleteGravatar = function(res, link, size, group) { - var elem = gravatar(link, size, "perm-gravatar-ac"); +var autocompleteGravatar = function(res, gravatar_lnk, size, group) { + var elem; if (group !== undefined) { elem = ''; + } else { + elem = gravatar(gravatar_lnk, size, "perm-gravatar-ac"); } return '
{0}{1}
'.format(elem, res); }