1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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()
class NoRowsException(Exception): pass
class MultipleRowsException(Exception): pass
def get(cursor, sql, *values):
execute(cursor, sql, *values)
result = cursor.fetchone()
if result is None:
raise NoRowsException('no rows returned', sql, values)
if cursor.fetchone() is not None:
raise MultipleRowsException('multiple results returned', sql, values)
return result
|