Example #1
0
    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]))
Example #2
0
    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()