Call a function `func` with a database connection.
HEAD main1 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)
|