lib/db.py
changeset 24 001f52cd057e
parent 22 72696ca68c34
child 26 81d6679d50d0
equal deleted inserted replaced
23:10841abbc01f 24:001f52cd057e
    18 # 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    18 # 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    19 #
    19 #
    20 
    20 
    21 import sqlite3
    21 import sqlite3
    22 
    22 
    23 conn = sqlite3.connect("degal.db")
    23 conn = sqlite3.connect("db/degal.db")
    24 
    24 
    25 def execute (expr, *args) :
    25 def execute (expr, *args) :
    26     c = conn.cursor()
    26     c = conn.cursor()
    27     c.execute(expr, args)
    27     c.execute(expr, args)
    28 
    28 
    29     return c
    29     return c
    30 
    30 
    31 def insert (expr, *args) :
    31 def execute_many (expr, iter) :
    32     return execute(expr, *args).rowcount
    32     c = conn.cursor()
       
    33     c.executemany(expr, iter)
       
    34 
       
    35     return c
       
    36 
       
    37 def commit (cursor) :
       
    38     try :
       
    39         cursor.execute("COMMIT")
       
    40     except sqlite3.OperationalError :
       
    41         pass    # ffs. INSERT just doesn't do anything otherwise
       
    42 
       
    43     return cursor.rowcount
       
    44 
       
    45 def execute_commit (expr, *args) :
       
    46     return commit(execute(expr, *args))
       
    47 
       
    48 def execute_commit_many (expr, iter) :
       
    49     return commit(execute_many(expr, iter))
    33 
    50 
    34 select = execute
    51 select = execute
    35 
    52 
       
    53 delete = execute_commit
       
    54 insert = execute_commit
       
    55 
       
    56 delete_many = execute_commit_many
       
    57 insert_many = execute_commit_many
       
    58 
    36 cursor = conn.cursor
    59 cursor = conn.cursor
    37 
    60