diff options
Diffstat (limited to 'python/db.py')
| -rw-r--r-- | python/db.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/python/db.py b/python/db.py new file mode 100644 index 00000000..3abe1800 --- /dev/null +++ b/python/db.py @@ -0,0 +1,31 @@ +import psycopg2 +conn = psycopg2.connect(database="ET", + user="et_user", + password="Serenitas1", + host="debian") + +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: + conn.rollback() + raise + + return rv + + return with_connection_ + +@with_connection +def query_db(conn, sqlstr, params=None, one=True): + c = conn.cursor() + if params: + c.execute(sqlstr, params) + else: + c.execute(sqlstr) + if one: + return c.fetchone() + else: + return c.fetchall() + c.close() |
