aboutsummaryrefslogtreecommitdiffstats
path: root/python/db.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/db.py')
-rw-r--r--python/db.py42
1 files changed, 23 insertions, 19 deletions
diff --git a/python/db.py b/python/db.py
index ea3fed4e..760344f1 100644
--- a/python/db.py
+++ b/python/db.py
@@ -2,29 +2,33 @@ import psycopg2
from psycopg2.extras import DictCursor
from psycopg2 import IntegrityError
-conn = psycopg2.connect(database="ET",
- user="et_user",
+def dbconn(dbname):
+ if dbname == 'etdb':
+ dbname = 'ET'
+ user_name = 'et_user'
+ else:
+ user_name = dbname[:-2] + '_user'
+ return psycopg2.connect(database=dbname,
+ user=user_name,
host="debian",
cursor_factory=DictCursor)
-serenitasdb = psycopg2.connect(database="serenitasdb",
- user="serenitas_user",
- host="debian",
- cursor_factory=DictCursor)
-def with_connection(f):
- def with_connection_(*args, **kwargs):
- # or use a pool, or a factory function...
- try:
- rv = f(conn, *args, **kwargs)
- except Exception as e:
- print(e)
- conn.rollback()
- else:
- return rv
-
- return with_connection_
+def with_connection(dbname):
+ def decorator(f):
+ conn = dbconn(dbname)
+ def with_connection_(*args, **kwargs):
+ # or use a pool, or a factory function...
+ try:
+ rv = f(conn, *args, **kwargs)
+ except Exception as e:
+ print(e)
+ conn.rollback()
+ else:
+ return rv
+ return with_connection_
+ return decorator
-@with_connection
+@with_connection('etdb')
def query_db(conn, sqlstr, params=None, one=True):
with conn.cursor() as c:
if params: