about summary refs log tree commit diff
path: root/gn_libs/sqlite3.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn_libs/sqlite3.py')
-rw-r--r--gn_libs/sqlite3.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/gn_libs/sqlite3.py b/gn_libs/sqlite3.py
index 78e1c41..565ed82 100644
--- a/gn_libs/sqlite3.py
+++ b/gn_libs/sqlite3.py
@@ -43,3 +43,12 @@ def cursor(conn: DbConnection) -> Iterator[DbCursor]:
         raise exc
     finally:
         cur.close()
+
+
+def with_db_connection(db_uri: str, func: Callable[[DbConnection], Any]) -> Any:
+    """
+    Call `func`, a function of one argument with the SQLite3 connection created
+    from the connection string `db_uri`.
+    """
+    with connection(db_uri) as conn:
+        return func(conn)