diff --git a/avatar/settings.py b/avatar/settings.py index 81a9f9ab..12d5db20 100644 --- a/avatar/settings.py +++ b/avatar/settings.py @@ -10,11 +10,10 @@ AUTO_GENERATE_AVATAR_SIZES = getattr(settings, 'AUTO_GENERATE_AVATAR_SIZES', (AVATAR_DEFAULT_SIZE,)) AVATAR_RESIZE_METHOD = getattr(settings, 'AVATAR_RESIZE_METHOD', Image.ANTIALIAS) AVATAR_STORAGE_DIR = getattr(settings, 'AVATAR_STORAGE_DIR', 'avatars') -AVATAR_GRAVATAR_SSL = getattr(settings, 'AVATAR_GRAVATAR_SSL', False) +AVATAR_GRAVATAR_BASE_URL = getattr(settings, 'AVATAR_GRAVATAR_BASE_URL', 'http://www.gravatar.com/avatar/') AVATAR_GRAVATAR_BACKUP = getattr(settings, 'AVATAR_GRAVATAR_BACKUP', True) AVATAR_GRAVATAR_DEFAULT = getattr(settings, 'AVATAR_GRAVATAR_DEFAULT', None) AVATAR_DEFAULT_URL = getattr(settings, 'AVATAR_DEFAULT_URL', 'avatar/img/default.jpg') -AVATAR_BASE_URL = getattr(settings, 'AVATAR_BASE_URL', 'http://www.gravatar.com') AVATAR_MAX_AVATARS_PER_USER = getattr(settings, 'AVATAR_MAX_AVATARS_PER_USER', 42) AVATAR_MAX_SIZE = getattr(settings, 'AVATAR_MAX_SIZE', 1024 * 1024) AVATAR_THUMB_FORMAT = getattr(settings, 'AVATAR_THUMB_FORMAT', "JPEG") diff --git a/avatar/templatetags/avatar_tags.py b/avatar/templatetags/avatar_tags.py index b2364f4c..39b43179 100644 --- a/avatar/templatetags/avatar_tags.py +++ b/avatar/templatetags/avatar_tags.py @@ -1,4 +1,5 @@ import urllib +import urlparse from django import template from django.template.loader import render_to_string @@ -9,7 +10,7 @@ from django.contrib.auth.models import User from avatar.settings import (AVATAR_GRAVATAR_BACKUP, AVATAR_GRAVATAR_DEFAULT, - AVATAR_DEFAULT_SIZE, AVATAR_BASE_URL) + AVATAR_DEFAULT_SIZE, AVATAR_GRAVATAR_BASE_URL) from avatar.util import get_primary_avatar, get_default_avatar_url, cache_result from avatar.models import Avatar @@ -22,17 +23,16 @@ def avatar_url(user, size=AVATAR_DEFAULT_SIZE): avatar = get_primary_avatar(user, size=size) if avatar: return avatar.avatar_url(size) - else: - if AVATAR_GRAVATAR_BACKUP: - params = {'s': str(size)} - if AVATAR_GRAVATAR_DEFAULT: - params['d'] = AVATAR_GRAVATAR_DEFAULT - return "%s/avatar/%s/?%s" % ( - AVATAR_BASE_URL, - md5_constructor(user.email).hexdigest(), - urllib.urlencode(params)) - else: - return get_default_avatar_url() + + if AVATAR_GRAVATAR_BACKUP: + params = {'s': str(size)} + if AVATAR_GRAVATAR_DEFAULT: + params['d'] = AVATAR_GRAVATAR_DEFAULT + path = "%s/?%s" % (md5_constructor(user.email).hexdigest(), + urllib.urlencode(params)) + return urlparse.urljoin(AVATAR_GRAVATAR_BASE_URL, path) + + return get_default_avatar_url() @cache_result diff --git a/setup.py b/setup.py index df3c09ee..929c730b 100644 --- a/setup.py +++ b/setup.py @@ -110,8 +110,8 @@ There are a number of settings available to easily customize the avatars that appear on the site. Listed below are those settings: -AVATAR_BASE_URL - The base URL where to get avatars at gravatar.com. Defaults to ``http://www.gravatar.com``. +AVATAR_GRAVATAR_BASE_URL + The base URL where to get avatars at gravatar.com. Defaults to ``http://www.gravatar.com/avatar/``. AUTO_GENERATE_AVATAR_SIZES An iterable of integers representing the sizes of avatars to generate on