def render_primary(request, user=None, size=settings.AVATAR_DEFAULT_SIZE): size = int(size) avatar = get_primary_avatar(user, size=size) if avatar: # FIXME: later, add an option to render the resized avatar dynamically # instead of redirecting to an already created static file. This could # be useful in certain situations, particulary if there is a CDN and # we want to minimize the storage usage on our static server, letting # the CDN store those files instead url = avatar.avatar_url(size) else: url = get_default_avatar_url() return redirect(url)
def avatar_url(user, size=settings.AVATAR_DEFAULT_SIZE): avatar = get_primary_avatar(user, size=size) if avatar: return avatar.avatar_url(size) if settings.AVATAR_GRAVATAR_BACKUP: params = {'s': str(size)} if settings.AVATAR_GRAVATAR_DEFAULT: params['d'] = settings.AVATAR_GRAVATAR_DEFAULT path = "%s/?%s" % (hashlib.md5(force_bytes(user.email)).hexdigest(), urlencode(params)) return urljoin(settings.AVATAR_GRAVATAR_BASE_URL, path) return get_default_avatar_url()
def avatar_img(avatar, size): if not avatar.thumbnail_exists(size): avatar.create_thumbnail(size) return mark_safe('<img src="%s" alt="%s" width="%s" height="%s" />' % (avatar.avatar_url(size), six.text_type(avatar), size, size))
def render_avatar(avatar, size=settings.AVATAR_DEFAULT_SIZE): if not avatar.thumbnail_exists(size): avatar.create_thumbnail(size) return """<img src="%s" alt="%s" width="%s" height="%s" />""" % ( avatar.avatar_url(size), six.text_type(avatar), size, size)