24 |
# and named. |
# and named. |
25 |
# The sqlite2 boolean variable is used to manage specific part of the code |
# The sqlite2 boolean variable is used to manage specific part of the code |
26 |
try: |
try: |
27 |
# Using SQLITE 2.x |
# Using SQLITE 2.x |
28 |
sqlite2 = True |
sqlite2 = True |
29 |
from pysqlite2 import dbapi2 as sqlite |
from pysqlite2 import dbapi2 as sqlite |
30 |
except ImportError: |
except ImportError: |
31 |
# Using SQLITE 1.x |
# Using SQLITE 1.x |
32 |
sqlite2 = False |
sqlite2 = False |
33 |
import sqlite |
import sqlite |
34 |
|
|
35 |
|
|
36 |
from base import TitledObject |
from base import TitledObject |
367 |
params = () |
params = () |
368 |
else: |
else: |
369 |
if sqlite2: |
if sqlite2: |
370 |
right_template = "?" |
right_template = "?" |
371 |
else: right_template = "%s" |
else: right_template = "%s" |
372 |
params = (right,) |
params = (right,) |
373 |
|
|
424 |
id_key = max([len(col.name) for col in self.columns]) * "x" |
id_key = max([len(col.name) for col in self.columns]) * "x" |
425 |
|
|
426 |
if sqlite2: |
if sqlite2: |
427 |
insert_template = "INSERT INTO %s (id, %s) VALUES (%s, %s);" \ |
insert_template = "INSERT INTO %s (id, %s) VALUES (%s, %s);" \ |
428 |
% (self.tablename, |
% (self.tablename, |
429 |
", ".join([col.internal_name |
", ".join([col.internal_name |
430 |
for col in self.columns]), |
for col in self.columns]), |
432 |
", ".join(["?" for col in self.columns])) |
", ".join(["?" for col in self.columns])) |
433 |
|
|
434 |
else: |
else: |
435 |
insert_template = "INSERT INTO %s (id, %s) VALUES (%%(%s)s, %s);" \ |
insert_template = "INSERT INTO %s (id, %s) VALUES (%%(%s)s, %s);" \ |
436 |
% (self.tablename, |
% (self.tablename, |
437 |
", ".join([col.internal_name |
", ".join([col.internal_name |
438 |
for col in self.columns]), |
for col in self.columns]), |
444 |
row = table.ReadRowAsDict(i) |
row = table.ReadRowAsDict(i) |
445 |
row[id_key] = i |
row[id_key] = i |
446 |
if sqlite2: |
if sqlite2: |
447 |
params = [i] |
params = [i] |
448 |
for col in self.columns: |
for col in self.columns: |
449 |
params.append(row[col.name]) |
params.append(row[col.name]) |
450 |
cursor.execute(insert_template, params) |
cursor.execute(insert_template, params) |
451 |
else: |
else: |
452 |
cursor.execute(insert_template, row) |
cursor.execute(insert_template, row) |
453 |
self.db.conn.commit() |
self.db.conn.commit() |
454 |
|
|
455 |
|
|