From ca8080b3f402b6c523dac479ba9a3e8f712ca680 Mon Sep 17 00:00:00 2001 From: Alex Iribarren Date: Sun, 21 Dec 2025 22:34:34 +0100 Subject: [PATCH] Enable parameters for LibRavatar Added support for default parameters to LibRavatar --- avatar/providers.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/avatar/providers.py b/avatar/providers.py index 78424ed..6635046 100644 --- a/avatar/providers.py +++ b/avatar/providers.py @@ -68,7 +68,7 @@ class GravatarAvatarProvider(object): class LibRAvatarProvider: """ - Returns the url of an avatar by the Ravatar service. + Returns the url of an avatar by the LibRavatar service. """ @classmethod @@ -87,8 +87,19 @@ class LibRAvatarProvider: baseurl = "http://" + hostname + ":" + port + "/avatar/" except Exception: baseurl = "https://seccdn.libravatar.org/avatar/" - hash = hashlib.md5(email.strip().lower()).hexdigest() - return baseurl + hash + + params = {"s": str(width)} + if settings.AVATAR_GRAVATAR_DEFAULT: + params["d"] = settings.AVATAR_GRAVATAR_DEFAULT + if settings.AVATAR_GRAVATAR_FORCEDEFAULT: + params["f"] = "y" + path = "%s/?%s" % ( + hashlib.md5( + force_bytes(email.strip().lower()) + ).hexdigest(), + urlencode(params), + ) + return urljoin(baseurl, path) class FacebookAvatarProvider(object):