def getFact(self, deck, ankiFactId): fact = self.fact_dao.findByAnkiFactId(deck, ankiFactId) if fact == None: fact = Fact(deck.id, ankiFactId, None, None, False, Fact.STATUS_NONE, False, 0) fact.deck = deck fact = self.fact_dao.insert(fact) return fact
def findByAnkiFactId(self, deck, ankiFactId): db = self.learnXdB.openDataBase() c = db.cursor() t = (deck.id, ankiFactId) c.execute("Select * From Facts Where deck_id = ? and anki_fact_id = ?", t) fact = None for row in c: fact = Fact(row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[0]) fact.deck = deck c.close() return fact
def getAllFacts(self, deck, ankiFacts): facts = [] factsToInsert = [] i = 0 for ankiFact in ankiFacts: fact = self.fact_dao.findByAnkiFactId(deck, ankiFact.id) if fact == None: fact = Fact(deck.id, ankiFact.id, None, None, False, Fact.STATUS_NONE, False, 0) fact.deck = deck factsToInsert.append(fact) fact.ankiFactIndex = i fact.ankiLastModified = ankiFact.modified facts.append(fact) i += 1 if len(factsToInsert) > 0: self.fact_dao.insertAll(factsToInsert) return facts