summaryrefslogtreecommitdiff
path: root/tools/migrate_likes.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/migrate_likes.py')
-rwxr-xr-xtools/migrate_likes.py89
1 files changed, 37 insertions, 52 deletions
diff --git a/tools/migrate_likes.py b/tools/migrate_likes.py
index f0dc562..ffa914d 100755
--- a/tools/migrate_likes.py
+++ b/tools/migrate_likes.py
@@ -87,78 +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
-
- 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
+ map_user[row['id']] = user
+ print "loading videos..."
sj_video = list(db.get_sj_video_table())
map_video = {}
for row in sj_video:
- 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:
+ try:
video = SJContent.objects.get(
- user=user,
- datetime=datetime.fromtimestamp(row['date']),
- room=room,
- content_type='video')
+ old_id=row['id'],
+ content_type='video')
except SJContent.DoesNotExist:
- print "ERROR"
+ print "ERROR video '%s' does not exist" % row['id']
+ continue
- row['__sjcontent_video_pk'] = video.pk
- map_video[row['id']] = video.pk
+ map_video[row['id']] = video
# Migrate sj_likes table
sj_likes = list(db.get_sj_likes_table())
for row in sj_likes:
- user = admin
- pk = map_user.get(row['userid'], 0)
- if pk:
- user = User.objects.get(pk=pk)
- video = None
- pk = map_video.get(row['videoid'], 0)
- if pk:
- video = SJContent.objects.get(pk=pk)
- try:
- like = SJLike.objects.get(
- user=user,
- datetime=datetime.fromtimestamp(row['date']),
- content=video)
- except SJLike.DoesNotExist:
- like = SJLike(
- user=user,
- datetime=datetime.fromtimestamp(row['date']),
- content=video)
- like.save()
-
- row['__sjlike_pk'] = like.pk
-
+ if row['userid'] in map_user:
+ user = map_user[row['userid']]
+ else:
+ print "unknown user in migrate: '%d'" % row['userid']
+ continue
+
+ if row['videoid'] in map_video:
+ video = map_video[row['videoid']]
+ else:
+ print "unknown video in migrate: '%d'" % row['videoid']
+ continue
+
+ try:
+ like = SJLike.objects.get(
+ user=user,
+ datetime=datetime.fromtimestamp(row['date']),
+ content=video)
+ print "like '%d' exist" % row['date']
+ except SJLike.DoesNotExist:
+ like = SJLike(
+ user=user,
+ datetime=datetime.fromtimestamp(row['date']),
+ content=video)
+ print "like '%d' created" % row['date']
+ like.save()