magic_insert: allow shorter rows
authorMarko Kreen <markokr@gmail.com>
Fri, 19 Nov 2010 14:13:32 +0000 (16:13 +0200)
committerMarko Kreen <markokr@gmail.com>
Fri, 26 Nov 2010 11:04:13 +0000 (13:04 +0200)
python/skytools/sqltools.py

index b36bb58c7f6f79ee2244c17046bfcd54cb788a95..500aeb47c5bc3950ebd5b735fd80e6a2dd712c8d 100644 (file)
@@ -245,14 +245,20 @@ def _gen_dict_insert(tbl, row, fields, qfields):
 def _gen_list_copy(tbl, row, fields, qfields):
     tmp = []
     for i in range(len(fields)):
-        v = row[i]
+        try:
+            v = row[i]
+        except IndexError:
+            v = None
         tmp.append(quote_copy(v))
     return "\t".join(tmp)
 
 def _gen_list_insert(tbl, row, fields, qfields):
     tmp = []
     for i in range(len(fields)):
-        v = row[i]
+        try:
+            v = row[i]
+        except IndexError:
+            v = None
         tmp.append(quote_literal(v))
     fmt = "insert into %s (%s) values (%s);"
     return fmt % (tbl, ",".join(qfields), ",".join(tmp))