2010-02-22 23:48:22 +00:00
|
|
|
from django.conf import settings
|
|
|
|
|
|
|
|
|
|
from django.contrib.auth.models import User
|
|
|
|
|
|
|
|
|
|
from avatar import AVATAR_DEFAULT_URL
|
|
|
|
|
|
|
|
|
|
def get_default_avatar_url():
|
|
|
|
|
base_url = getattr(settings, 'STATIC_URL', None)
|
|
|
|
|
if not base_url:
|
|
|
|
|
base_url = getattr(settings, 'MEDIA_URL', '')
|
|
|
|
|
# We'll be nice and make sure there are no duplicated forward slashes
|
|
|
|
|
ends = base_url.endswith('/')
|
|
|
|
|
begins = AVATAR_DEFAULT_URL.startswith('/')
|
|
|
|
|
if ends and begins:
|
|
|
|
|
base_url = base_url[:-1]
|
|
|
|
|
elif not ends and not begins:
|
|
|
|
|
return '%s/%s' % (base_url, AVATAR_DEFAULT_URL)
|
|
|
|
|
return '%s%s' % (base_url, AVATAR_DEFAULT_URL)
|
|
|
|
|
|
|
|
|
|
def get_primary_avatar(user, size=80):
|
|
|
|
|
if not isinstance(user, User):
|
|
|
|
|
try:
|
|
|
|
|
user = User.objects.get(username=user)
|
|
|
|
|
except User.DoesNotExist:
|
2010-02-25 11:45:23 +00:00
|
|
|
return None
|
2010-02-22 23:48:22 +00:00
|
|
|
avatars = user.avatar_set.order_by('-date_uploaded')
|
|
|
|
|
primary = avatars.filter(primary=True)
|
|
|
|
|
if primary.count() > 0:
|
|
|
|
|
avatar = primary[0]
|
|
|
|
|
elif avatars.count() > 0:
|
|
|
|
|
avatar = avatars[0]
|
|
|
|
|
else:
|
|
|
|
|
avatar = None
|
|
|
|
|
if avatar:
|
|
|
|
|
if not avatar.thumbnail_exists(size):
|
|
|
|
|
avatar.create_thumbnail(size)
|
|
|
|
|
return avatar
|