summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Vasile <james@hackervisions.org>2011-12-01 09:31:29 -0500
committerJames Vasile <james@hackervisions.org>2011-12-01 09:31:29 -0500
commita6bffcab94c2c869d5905cc6c211a39e286f5f8b (patch)
treec624ecef65facfd3ebd425417c1859a08593075c
parent1c3b47ad606a6faeb07ea193b0c24617ac5eb579 (diff)
autocommit
-rw-r--r--withsqlite.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/withsqlite.py b/withsqlite.py
index 13e7a89..d2d224f 100644
--- a/withsqlite.py
+++ b/withsqlite.py
@@ -110,8 +110,9 @@ True
>>>
"""
- def __init__(self, fname):
+ def __init__(self, fname, autocommit=False):
self.fname = fname + ".sqlite3"
+ self.autocomit = autocommit
def __enter__(self):
if not os.path.exists(self.fname):
self.make_db()
@@ -144,6 +145,8 @@ True
self.crsr.execute("update or fail store set val=? where key==?", [self.jsonize(val), key])
except KeyError:
self.crsr.execute("insert into store values (?, ?)", [key, self.jsonize(val)])
+
+ if self.autocommit: self.commit()
def __getitem__(self, key):
"""a[k] the item of a with key k (1), (10)"""
self.crsr.execute('select val from store where key=?', [key])
@@ -186,6 +189,7 @@ True
def clear(self):
"""a.clear() remove all items from a"""
self.crsr.execute("delete from store")
+ if self.autocommit: self.commit()
if __name__=="__main__":
import doctest