From 7ccd5cdf66c358e97a157a865aa301b6cf1b5071 Mon Sep 17 00:00:00 2001 From: Flavio Curella Date: Sat, 30 Jun 2012 14:24:10 -0500 Subject: [PATCH 1/3] added AVATAR_BASE_URL setting --- avatar/settings.py | 1 + avatar/templatetags/avatar_tags.py | 5 +++-- setup.py | 5 ++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/avatar/settings.py b/avatar/settings.py index eba4233..e22ab71 100644 --- a/avatar/settings.py +++ b/avatar/settings.py @@ -13,6 +13,7 @@ AVATAR_STORAGE_DIR = getattr(settings, 'AVATAR_STORAGE_DIR', 'avatars') 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 201e566..2a8d2fb 100644 --- a/avatar/templatetags/avatar_tags.py +++ b/avatar/templatetags/avatar_tags.py @@ -8,7 +8,7 @@ from django.core.urlresolvers import reverse from django.contrib.auth.models import User from avatar.settings import (AVATAR_GRAVATAR_BACKUP, AVATAR_GRAVATAR_DEFAULT, - AVATAR_DEFAULT_SIZE) + AVATAR_DEFAULT_SIZE, AVATAR_BASE_URL) from avatar.util import get_primary_avatar, get_default_avatar_url, cache_result register = template.Library() @@ -25,7 +25,8 @@ def avatar_url(user, size=AVATAR_DEFAULT_SIZE): params = {'s': str(size)} if AVATAR_GRAVATAR_DEFAULT: params['d'] = AVATAR_GRAVATAR_DEFAULT - return "http://www.gravatar.com/avatar/%s/?%s" % ( + return "%s/avatar/%s/?%s" % ( + AVATAR_BASE_URL, md5_constructor(user.email).hexdigest(), urllib.urlencode(params)) else: diff --git a/setup.py b/setup.py index 7c3858a..b5d60ca 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import setup, find_packages -version = '2.0a1' +version = '2.0a2' LONG_DESCRIPTION = """ Using django-avatar @@ -110,6 +110,9 @@ Global Settings 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``. + AUTO_GENERATE_AVATAR_SIZES An iterable of integers representing the sizes of avatars to generate on upload. This can save rendering time later on if you pre-generate the From cd7401dc4fa6519a62c4f8e6b3cb688c77738f51 Mon Sep 17 00:00:00 2001 From: Cristiano Valente Date: Wed, 8 Aug 2012 21:24:43 +0200 Subject: [PATCH 2/3] Updated to support django <=1.4 --- avatar/views.py | 10 ++++------ setup.py | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/avatar/views.py b/avatar/views.py index 68ae338..1ae46e7 100644 --- a/avatar/views.py +++ b/avatar/views.py @@ -3,6 +3,7 @@ from django.shortcuts import render_to_response from django.template import RequestContext from django.utils.translation import ugettext as _ from django.conf import settings +from django.contrib import messages from django.contrib.auth.decorators import login_required @@ -68,8 +69,7 @@ def add(request, extra_context=None, next_override=None, image_file = request.FILES['avatar'] avatar.avatar.save(image_file.name, image_file) avatar.save() - request.user.message_set.create( - message=_("Successfully uploaded a new avatar.")) + messages.success(request, _("Successfully uploaded a new avatar.")) avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( @@ -106,8 +106,7 @@ def change(request, extra_context=None, next_override=None, avatar.primary = True avatar.save() updated = True - request.user.message_set.create( - message=_("Successfully updated your avatar.")) + messages.success(request, _("Successfully updated your avatar.")) if updated: avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) return HttpResponseRedirect(next_override or _get_next(request)) @@ -143,8 +142,7 @@ def delete(request, extra_context=None, next_override=None, *args, **kwargs): avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) break Avatar.objects.filter(id__in=ids).delete() - request.user.message_set.create( - message=_("Successfully deleted the requested avatars.")) + messages.success(request, _("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( 'avatar/confirm_delete.html', diff --git a/setup.py b/setup.py index 7c3858a..9bf1a54 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import setup, find_packages -version = '2.0a1' +version = '2.0a2' LONG_DESCRIPTION = """ Using django-avatar From 22df7a89020cbbcf80a88bcf3572dea591884861 Mon Sep 17 00:00:00 2001 From: Cristiano Valente Date: Fri, 12 Oct 2012 14:45:47 +0200 Subject: [PATCH 3/3] Support for username with extra chars. --- avatar/urls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/avatar/urls.py b/avatar/urls.py index 0ddc942..3894501 100644 --- a/avatar/urls.py +++ b/avatar/urls.py @@ -4,5 +4,5 @@ urlpatterns = patterns('avatar.views', url('^add/$', 'add', name='avatar_add'), url('^change/$', 'change', name='avatar_change'), url('^delete/$', 'delete', name='avatar_delete'), - url('^render_primary/(?P[\+\w]+)/(?P[\d]+)/$', 'render_primary', name='avatar_render_primary'), + url('^render_primary/(?P[\w\d\.\-_]{3,30})/(?P[\d]+)/$', 'render_primary', name='avatar_render_primary'), )