Switched the management command to use get_or_create, so that it can create the required Avatar instances for User objects on a new installation.

git-svn-id: http://django-avatar.googlecode.com/svn/trunk@4 c76b2324-5f53-0410-85ac-b1078a54aeeb
This commit is contained in:
Eric Florenzano 2008-08-02 05:14:30 +00:00
parent d814c92bb8
commit 1a0e958b50

View file

@ -5,6 +5,7 @@ from urllib2 import urlopen
from django.conf import settings
from django.contrib.auth.models import User
from django.core.management.base import NoArgsCommand
from models import Avatar
try:
from hashlib import md5
@ -36,14 +37,15 @@ class Command(NoArgsCommand):
os.makedirs(dirname)
except OSError:
pass
filename = "%s.jpg" % user.avatar.email_hash
avatar, created = Avatar.objects.get_or_create(user=user)
filename = "%s.jpg" % avatar.email_hash
full_filename = os.path.join(dirname, filename)
try:
f = open(full_filename, 'w')
f.write(data)
f.close()
user.avatar.avatar = full_filename
user.avatar.save()
avatar.avatar = full_filename
avatar.save()
print "Imported Gravatar for %s" % user.username
except:
print "Error on writing to file: %s" % full_filename