/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/Model/transientdb.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/Model/transientdb.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2680 by dpinte, Mon May 15 14:36:50 2006 UTC revision 2682 by dpinte, Mon May 15 20:11:15 2006 UTC
# Line 24  __version__ = "$Revision$" Line 24  __version__ = "$Revision$"
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
37    
# Line 367  class TransientTableBase: Line 367  class TransientTableBase:
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    
# Line 424  class TransientTable(TitledObject, Trans Line 424  class TransientTable(TitledObject, Trans
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]),
# Line 432  class TransientTable(TitledObject, Trans Line 432  class TransientTable(TitledObject, Trans
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]),
# Line 444  class TransientTable(TitledObject, Trans Line 444  class TransientTable(TitledObject, Trans
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    

Legend:
Removed from v.2680  
changed lines
  Added in v.2682

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26