diff options
Diffstat (limited to 'trygvis/eda/cli/__init__.py')
-rw-r--r-- | trygvis/eda/cli/__init__.py | 9 |
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) |