aboutsummaryrefslogtreecommitdiff
path: root/trygvis/eda/cli/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'trygvis/eda/cli/__init__.py')
-rw-r--r--trygvis/eda/cli/__init__.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/trygvis/eda/cli/__init__.py b/trygvis/eda/cli/__init__.py
index 9cfb710..8a4ce6f 100644
--- a/trygvis/eda/cli/__init__.py
+++ b/trygvis/eda/cli/__init__.py
@@ -27,7 +27,7 @@ def do_exit(msg=None):
sys.exit(msg)
-def open_database(path):
+def with_database(path, tx):
g = ConjunctiveGraph('Sleepycat')
rt = g.open(path, create=False)
if rt == store.NO_STORE:
@@ -36,7 +36,10 @@ def open_database(path):
elif rt != store.VALID_STORE:
raise CliException("The database is corrupt: %s" % path)
- return g
+ try:
+ tx(g)
+ finally:
+ g.close()
def create_graph(digikey=False, kicad=False):
@@ -67,7 +70,7 @@ _initNs = {
"kicad-type": kicad_rdf.KICAD_TYPE}
-def sparql(g, query, init_bindings = None):
+def sparql(g, query, init_bindings=None):
q = prepareQuery(query, initNs=_initNs)
return g.query(q, initBindings=init_bindings)