diff options
Diffstat (limited to 'gn_libs/sqlite3.py')
| -rw-r--r-- | gn_libs/sqlite3.py | 9 |
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) |
