dump_pointers and dump_passwords: Add error handling for deleted users.

(imported from commit 556c29133a4734014d4640d875c6d6fccc118668)
This commit is contained in:
Tim Abbott
2012-12-13 18:55:06 -05:00
parent 197d0dcc01
commit dc2057ff73
2 changed files with 16 additions and 5 deletions

View File

@@ -11,7 +11,11 @@ def dump():
def restore(change): def restore(change):
for (email, password) in simplejson.loads(file("dumped-passwords").read()): for (email, password) in simplejson.loads(file("dumped-passwords").read()):
try:
user = User.objects.get(email__iexact=email) user = User.objects.get(email__iexact=email)
except User.DoesNotExist:
print "Skipping...", email
continue
if change: if change:
user.password = password user.password = password
user.save() user.save()

View File

@@ -17,13 +17,20 @@ def dump():
def restore(change): def restore(change):
for (email, timestamp) in simplejson.loads(file("dumped-pointers").read()): for (email, timestamp) in simplejson.loads(file("dumped-pointers").read()):
try:
u = UserProfile.objects.get(user__email__iexact=email) u = UserProfile.objects.get(user__email__iexact=email)
except UserProfile.DoesNotExist:
print "Skipping...", email
continue
if timestamp == -1: if timestamp == -1:
pointer = -1 pointer = -1
else: else:
try:
pointer = Message.objects.filter( pointer = Message.objects.filter(
pub_date__gte=timestamp_to_datetime(timestamp)).order_by("id")[0].id pub_date__gte=timestamp_to_datetime(timestamp - 1)).order_by("id")[0].id
print "%s: pointer %s => %s" % (email, u.pointer, pointer) except IndexError:
print "Alert...", email, timestamp
continue
if change: if change:
u.pointer = pointer u.pointer = pointer
u.save() u.save()