def setConnection(self, connection): _d = SqlDebug() self._d = _d.d self.table = self.getTableName() self.conn = connection try: self.cursor = connection.cursor() except sqlite3.ProgrammingError as e: self._d(e) self.store.connect() self.conn = self.store.conn self.cursor = self.conn.cursor() #Get table description q = "PRAGMA table_info('%s')" % self.table res = self.runQuery(q) self.columns = [] self.modelData = [] self.hasManytoMany = [] for item in res: relattrib = str(item[1]).split('_id') if len(relattrib) == 2 and relattrib[1] == '': m2mTest = relattrib[0].split('_') if len(m2mTest) == 2: foreignOne = m2mTest[0].lower() foreignOne = foreignOne[0].upper() + foreignOne[1:] foreignTwo = m2mTest[1].lower() foreignTwo = foreignTwo[0].upper() + foreignTwo[1:] foreign = foreignOne + foreignTwo #foreignInstance = getattr(self.store,foreignOne) #self.setInstanceVariable(foreignOne,foreignInstance.create()); #foreignInstance = getattr(self.store,foreignTwo) #self.setInstanceVariable(foreignTwo,foreignInstance.create()); else: foreign = relattrib[0].lower() foreign = foreign[0].upper() + foreign[1:] foreignInstance = getattr(self.store, foreign) self.setInstanceVariable(foreign, foreignInstance.create()) self.setInstanceVariable(str(item[1])) self.columns.append(str(item[1])) self.modelData.append(str(item[1]))
def __init__(self, current_id): self._d = SqlDebug() self.status = False self.currentId = current_id super(LiteStore, self).__init__(current_id) self.db_name = current_id + ".db" self.db_path = self.get_db_path(current_id) self.cachedContacts = None if not os.path.exists(LiteStore.db_dir): os.makedirs(LiteStore.db_dir) if not os.path.exists(self.db_path): self.status = False #self.conn = sqlite3.connect(self.db_path) else: self.conn = sqlite3.connect(self.db_path, check_same_thread=False, isolation_level=None) self.status = True self.c = self.conn.cursor()