patx/hglab
fix database connection leaK
Commit 6f498e26a7e1 · Harrison Erd · 2026-05-10 14:01 -0400
Comments
No comments yet.
Diff
diff --git a/app.py b/app.py
--- a/app.py
+++ b/app.py
@@ -1,4 +1,5 @@
import base64
+from contextlib import contextmanager
import datetime as dt
import hashlib
import hmac
@@ -215,11 +216,19 @@
conn.execute("PRAGMA synchronous = NORMAL")
+@contextmanager
def db_connect():
conn = sqlite3.connect(DB_PATH, timeout=SQLITE_BUSY_TIMEOUT_MS / 1000)
conn.row_factory = sqlite3.Row
configure_db_connection(conn)
- return conn
+ try:
+ yield conn
+ conn.commit()
+ except Exception:
+ conn.rollback()
+ raise
+ finally:
+ conn.close()
def init_db():