__init__.py 765 B

123456789101112131415161718192021222324252627
  1. import oursql
  2. from config import db as dbconfig
  3. conn = oursql.connect(host=dbconfig.host, db=dbconfig.database, user=dbconfig.user, passwd=dbconfig.password, autoreconnect=True)
  4. def cursor():
  5. return conn.cursor(oursql.DictCursor)
  6. def execute(cursor, sql, *values):
  7. cursor.execute(sql, values)
  8. def query(cursor, sql, *values):
  9. execute(cursor, sql, *values)
  10. return cursor.fetchall()
  11. class NoRowsException(Exception): pass
  12. class MultipleRowsException(Exception): pass
  13. def get(cursor, sql, *values):
  14. execute(cursor, sql, *values)
  15. result = cursor.fetchone()
  16. if result is None:
  17. raise NoRowsException('no rows returned', sql, values)
  18. if cursor.fetchone() is not None:
  19. raise MultipleRowsException('multiple results returned', sql, values)
  20. return result