From 14495e8106756d95bae4933601b78ce32b818a4d Mon Sep 17 00:00:00 2001 From: Alex Iribarren Date: Wed, 7 Jan 2026 21:46:42 +0100 Subject: [PATCH] Enable parameters for LibRavatar (#255) * Enable parameters for LibRavatar Added support for default parameters to LibRavatar * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- avatar/providers.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/avatar/providers.py b/avatar/providers.py index 78424ed..2991012 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,17 @@ 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):