function.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from BackendApi.connect import connect
  2. conn = connect()
  3. class QueryFunc:
  4. #Функция обработки SELECT запросов к бд
  5. #Принимает запрос, аргументы которые предаются в запрос.
  6. #Последний параметр отвечает за возврат или одной записи или множества(по умолчанию).
  7. def query_select(self, query, args=(), one=False):
  8. try:
  9. with conn.cursor() as cursor:
  10. cursor.execute(query, args)
  11. r = [dict((cursor.description[i][0], value) \
  12. for i, value in enumerate(row)) for row in cursor.fetchall()]
  13. return (r[0] if r else None) if one else r
  14. except Exception as ex:
  15. return {"msg":str(ex)}
  16. #Функция обработки INSERT запросов к бд
  17. #Принимает запрос и аргументы
  18. #Возвращает значение первого столбца добавленной записи
  19. def query_insert(self, query, args=()):
  20. try:
  21. with conn.cursor() as cursor:
  22. cursor.execute(query, args)
  23. conn.commit()
  24. return cursor.fetchone()[0]
  25. except Exception as ex:
  26. return {"msg":str(ex)}
  27. #Функция обработки DELETE и UPDATE запросов к бд
  28. #Принимает запрос и аргументы
  29. #Возвращает истину или ложь в зависимости от результата запроса
  30. def query_delete_update(self, query, args=()):
  31. try:
  32. with conn.cursor() as cursor:
  33. cursor.execute(query, args)
  34. if(cursor.rowcount != 0):
  35. conn.commit()
  36. return True
  37. return False
  38. except:
  39. return False
  40. #Функция возвращающая истину, если в сущности существет запись
  41. def query_check_count(self, query, args=()):
  42. try:
  43. with conn.cursor() as cursor:
  44. cursor.execute(query, args)
  45. if(cursor.rowcount > 0):
  46. return True
  47. return False
  48. except:
  49. return False