from .DbManager import DbManager import json import mariadb from PySide6.QtCore import QObject, Signal from ..PyqcrmFlags import PyqcrmAppliEmpyFlags class ObjectDAO(QObject): newObjectAdded = Signal(bool) def __init__(self): super().__init__() #print(f"*** File: {__file__}, __init__()") self.__con = DbManager().getConnection() if self.__con: self.__cur = self.__con.cursor() def addObject(self, new_object, new_objcontact, enc_key): try: if self.__cur: self.__cur.callproc("addObject", (json.dumps(new_object), json.dumps(new_objcontact), enc_key,)) self.__con.commit() self.newObjectAdded.emit(True) except mariadb.Error as e: self.newObjectAdded.emit(False) print(str(e)) def getObjects(self, criterion, enc_key = None): try: if self.__cur: self.__cur.callproc("getObjects", (criterion, enc_key,)) self.__all_cols = [desc[0] for desc in self.__cur.description] return self.__cur.fetchall(), self.__all_cols else: return None, None except mariadb.Error as e: print(str(e))