Source code for bag.web

"""The bag.web module contains code that helps web development generically.

Then there's a :py:mod:`bag.web.pyramid` module that integrates the
generic code into the Pyramid web framework (as can be done with other
frameworks).
"""

import hashlib
from urllib.parse import urlencode


[docs]def gravatar_image( email: str, default: str='mm', size: int=80, cacheable: bool=True, ) -> str: """Return a Gravatar image URL for this ``email``.""" base = "http://www.gravatar.com/avatar/" if cacheable else \ "https://secure.gravatar.com/avatar/" return base + \ hashlib.md5(email.encode('utf8').lower()).hexdigest() + \ "?" + urlencode({'d': default, 's': str(size)})