summaryrefslogtreecommitdiffstats
path: root/db/__init__.py
blob: 66566d566999026a8f973f14af583d31e7a433d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import oursql

from config import db as dbconfig

conn = oursql.connect(host=dbconfig.host, db=dbconfig.database, user=dbconfig.user, passwd=dbconfig.password, autoreconnect=True)

def cursor():
	return conn.cursor(oursql.DictCursor)

def execute(cursor, sql, *values):
	cursor.execute(sql, values)

def query(cursor, sql, *values):
	execute(cursor, sql, *values)
	return cursor.fetchall()

def get(cursor, sql, *values):
	execute(cursor, sql, *values)
	result = cursor.fetchone()
	if result is None:
		raise Exception('no rows returned for query: {} with values {}'.format(sql, values))
	if cursor.fetchone() is not None:
		raise Exception('multiple results returned for query'.format(sql, values))
	return result