summaryrefslogtreecommitdiff
path: root/tools/migrate_validate_user.py
diff options
context:
space:
mode:
authorroot <root@lalalizard.com>2012-12-21 13:52:25 -0500
committerroot <root@lalalizard.com>2012-12-21 13:52:25 -0500
commitdb1e4fb6a16bec535337916cf5578f2cb0097423 (patch)
tree1cb1efbf6fe70bb176d1a2d58fa8d4d5343d03ad /tools/migrate_validate_user.py
parentabb7bcf38ed21856c2fdadc3f4bccfc37ad8c4c3 (diff)
migration tools fix
Diffstat (limited to 'tools/migrate_validate_user.py')
-rwxr-xr-xtools/migrate_validate_user.py98
1 files changed, 98 insertions, 0 deletions
diff --git a/tools/migrate_validate_user.py b/tools/migrate_validate_user.py
new file mode 100755
index 0000000..663f9ca
--- /dev/null
+++ b/tools/migrate_validate_user.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+
+import os
+import sys
+import chardet
+import json
+
+sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
+os.environ['DJANGO_SETTINGS_MODULE'] = 'scannerjammer.settings'
+
+from db import db as DB
+from pprint import pprint
+
+import django
+from datetime import datetime
+
+from django.conf import settings
+from django.contrib.auth.models import User
+
+from backend.models import SJLike
+from backend.models import SJRoom
+from backend.models import SJContent
+from backend.models import SJSearch
+from backend.models import SJUserProfile
+
+from backend.views import thraw
+from backend.views import freeze
+
+class MigrateDB(DB):
+
+ def __init__(self, *args, **kwargs):
+ super(MigrateDB, self).__init__(*args, **kwargs)
+
+ def get_table(self, name):
+ self.execute('SELECT * FROM %s' % name)
+ fields = [d[0] for d in self.cursor.description]
+ rows = self.cursor.fetchall()
+ for row in rows:
+ row = list(row)
+ for i, r in enumerate(row[:]):
+ if isinstance(r, str):
+ detect = chardet.detect(r)
+ try:
+ row[i] = unicode(r, detect['encoding'] or 'utf8', 'replace')
+ except LookupError:
+ row[i] = unicode(r, 'utf8', 'replace')
+ yield dict(zip(fields, row))
+
+ def get_radio_chat_table(self):
+ return self.get_table('radio_chat')
+
+ def get_search_log_table(self):
+ return self.get_table('search_log')
+
+ def get_sj_bg_table(self):
+ return self.get_table('sj_bg')
+
+ def get_sj_chat_table(self):
+ return self.get_table('sj_chat')
+
+ def get_sj_likes_table(self):
+ return self.get_table('sj_likes')
+
+ def get_sj_likes_tmp_table(self):
+ return self.get_table('sj_likes_tmp')
+
+ def get_sj_room_table(self):
+ return self.get_table('sj_room')
+
+ def get_sj_search_log_table(self):
+ return self.get_table('sj_search_log')
+
+ def get_sj_session_table(self):
+ return self.get_table('sj_sesson')
+
+ def get_sj_url_table(self):
+ return self.get_table('sj_url')
+
+ def get_sj_url_tmp_table(self):
+ return self.get_table('sj_url_tmp')
+
+ def get_sj_user_table(self):
+ return self.get_table('sj_user')
+
+ def get_sj_video_table(self):
+ return self.get_table('sj_video')
+
+if __name__ == '__main__':
+ db = MigrateDB()
+ db.connect()
+
+ sj_user = list(db.get_sj_user_table())
+ for row in sj_user:
+ try:
+ user = User.objects.get(username=row['username'])
+ except User.DoesNotExist:
+ print "ERROR user '%s' does not exist" % row['username']
+