]> git.openstreetmap.org Git - osqa.git/commitdiff
better memory management in the importer, and handle some more awkward case
authorhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Fri, 23 Apr 2010 22:49:28 +0000 (22:49 +0000)
committerhernani <hernani@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Fri, 23 Apr 2010 22:49:28 +0000 (22:49 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@68 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum_modules/pgfulltext/startup.py
forum_modules/sximporter/importer.py

index 32a7992e76af23d6406cb261410e7719352e7d62..6a6f85d1791850587a44ed070c34d66568fb68d5 100644 (file)
@@ -15,7 +15,6 @@ except:
 \r
 \r
 if install:\r
-    print 'install'\r
     f = open(os.path.join(os.path.dirname(__file__), 'pg_fts_install.sql'), 'r')\r
 \r
     try:\r
@@ -32,8 +31,8 @@ if install:
         kv.save()\r
         \r
     except Exception, e:\r
-        import sys, traceback\r
-        traceback.print_exc(file=sys.stdout)\r
+        #import sys, traceback\r
+        #traceback.print_exc(file=sys.stdout)\r
         pass\r
     finally:\r
         cursor.close()\r
index 2ae3c748efbdde9267035ae3bf986baddbd8ae6f..7b5450656e91d03cedfab6163c47dfa30f052294 100644 (file)
@@ -47,7 +47,7 @@ class UnknownUser(object):
 class IdMapper(dict):\r
     def __getitem__(self, key):\r
         key = int(key)\r
-        return super(IdMapper, self).get(key, key)\r
+        return super(IdMapper, self).get(key, 1)\r
 \r
     def __setitem__(self, key, value):\r
         super(IdMapper, self).__setitem__(int(key), int(value))\r
@@ -80,16 +80,16 @@ def userimport(dump, options):
             username = sxu.get('displayname', sxu.get('displaynamecleaned', sxu.get('realname', UnknownUser())))\r
 \r
             if not isinstance(username, UnknownUser) and username in user_by_name:\r
-                if options.get('mergesimilar', False) and sxu.get('email', 'INVALID') == user_by_name[username].email:\r
-                    osqau = user_by_name[username]\r
-                    create = False\r
-                    uidmapper[sxu.get('id')] = osqau.id\r
-                else:\r
-                    inc = 1\r
-                    while ("%s %d" % (username, inc)) in user_by_name:\r
-                        inc += 1\r
+                #if options.get('mergesimilar', False) and sxu.get('email', 'INVALID') == user_by_name[username].email:\r
+                #    osqau = user_by_name[username]\r
+                #    create = False\r
+                #    uidmapper[sxu.get('id')] = osqau.id\r
+                #else:\r
+                inc = 1\r
+                while ("%s %d" % (username, inc)) in user_by_name:\r
+                    inc += 1\r
 \r
-                    username = "%s %d" % (username, inc)\r
+                username = "%s %d" % (username, inc)\r
 \r
         sxbadges = sxu.get('badgesummary', None)\r
         badges = {'1':'0','2':'0','3':'0'}\r
@@ -123,7 +123,7 @@ def userimport(dump, options):
             s = orm.SubscriptionSettings(user=osqau)\r
             s.save()\r
 \r
-            user_by_name[osqau.username] = osqau\r
+            uidmapper[osqau.id] = osqau.id\r
         else:\r
             new_about = sxu.get('aboutme', None)\r
             if new_about and osqau.about != new_about:\r
@@ -142,6 +142,7 @@ def userimport(dump, options):
             merged_users.append(osqau.id)\r
             osqau.save()\r
 \r
+        user_by_name[osqau.username] = osqau\r
 \r
         openid = sxu.get('openid', None)\r
         if openid and openidre.match(openid):\r
@@ -259,7 +260,7 @@ def comment_import(dump, uidmap, posts):
             id = currid,\r
             node_type = "comment",\r
             added_at = readTime(sxc['creationdate']),\r
-            author_id = uidmap[sxc['userid']],\r
+            author_id = uidmap[sxc.get('userid', 1)],\r
             body = sxc['text'],\r
             parent_id = sxc.get('postid'),\r
             vote_up_count = 0,\r
@@ -272,7 +273,7 @@ def comment_import(dump, uidmap, posts):
             oc.deleted_by_id = uidmap[sxc['deletionuserid']]\r
             oc.author_id = uidmap[sxc['deletionuserid']]\r
         else:\r
-            oc.author_id = uidmap[sxc['userid']]\r
+            oc.author_id = uidmap[sxc.get('userid', 1)]\r
 \r
 \r
         posts[oc.id] = oc\r