diff options
Diffstat (limited to 'tools/migrate_url.py')
| -rwxr-xr-x | tools/migrate_url.py | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/tools/migrate_url.py b/tools/migrate_url.py index 361ba5d..4db2e28 100755 --- a/tools/migrate_url.py +++ b/tools/migrate_url.py @@ -87,55 +87,63 @@ class MigrateDB(DB): if __name__ == '__main__': - admin = User.objects.get(username='admin') - db = MigrateDB() db.connect() + print "loading users..." sj_user = list(db.get_sj_user_table()) map_user = {} for row in sj_user: try: user = User.objects.get(username=row['username']) except User.DoesNotExist: - print "ERROR in users" + print "ERROR in users '%s' does not exist" % row['username'] + exit(0) - map_user[row['id']] = user.pk + map_user[row['id']] = user + print "loading rooms..." sj_room = list(db.get_sj_room_table()) map_room = {} for row in sj_room: try: room = SJRoom.objects.get(name=row['name']) except SJRoom.DoesNotExist: - print "ERROR" - map_room[row['id']] = room.pk + print "ERROR in room '%s' does not exist" % row['name'] + exit(0) + map_room[row['id']] = room # Migrate sj_url table sj_url = list(db.get_sj_url_table()) for row in sj_url: - user = admin - pk = map_user.get(row['userid'], 0) - if pk: - user = User.objects.get(pk=pk) - room = SJRoom.objects.get(name='main') - pk = map_room.get(row['roomid'], 0) - if pk: - room = SJRoom.objects.get(pk=pk) - try: + if row['userid'] in map_user: + user = map_user[row['userid']] + else: + print "unknown user in migrate: '%d'" % row['userid'] + continue + + if row['roomid'] in map_room: + room = map_room[row['roomid']] + else: + print "unknown room in migrate: '%d'" % row['roomid'] + continue + + try: url = SJContent.objects.get( user=user, datetime=datetime.fromtimestamp(row['date']), room=room, + old_id=row['id'], content_type='url') + print "url '%d' exist" % row['date'] except SJContent.DoesNotExist: url = SJContent( user=user, datetime=datetime.fromtimestamp(row['date']), room=room, + old_id=row['id'], content_type='url') + print "url '%d' created" % row['date'] url.settings = dict(url=row['url']) url.save() - - row['__sjcontent_url_pk'] = url.pk |
