mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
routines for determining current new/rev card order
This commit is contained in:
parent
963d79069f
commit
2d5e58ac99
1 changed files with 16 additions and 30 deletions
42
anki/deck.py
42
anki/deck.py
|
@ -178,29 +178,25 @@ class Deck(object):
|
||||||
return
|
return
|
||||||
return self._getNewCard()
|
return self._getNewCard()
|
||||||
|
|
||||||
|
def newCardTable(self):
|
||||||
|
return ("acqCardsRandom",
|
||||||
|
"acqCardsOrdered")[self.newCardOrder]
|
||||||
|
|
||||||
|
def revCardTable(self):
|
||||||
|
return ("revCardsOld",
|
||||||
|
"revCardsNew",
|
||||||
|
"revCardsDue",
|
||||||
|
"revCardsRandom")[self.revCardOrder]
|
||||||
|
|
||||||
def _getNewCard(self):
|
def _getNewCard(self):
|
||||||
"Return the next new card id, if exists."
|
"Return the next new card id, if exists."
|
||||||
if self.newCardOrder == 0:
|
|
||||||
return self.s.scalar(
|
return self.s.scalar(
|
||||||
"select id from acqCardsRandom limit 1")
|
"select id from %s limit 1" % self.newCardTable())
|
||||||
else:
|
|
||||||
return self.s.scalar(
|
|
||||||
"select id from acqCardsOrdered limit 1")
|
|
||||||
|
|
||||||
def _getRevCard(self):
|
def _getRevCard(self):
|
||||||
"Return the next review card id."
|
"Return the next review card id."
|
||||||
if self.revCardOrder == 0:
|
|
||||||
return self.s.scalar(
|
return self.s.scalar(
|
||||||
"select id from revCardsOld limit 1")
|
"select id from %s limit 1" % self.revCardTable())
|
||||||
elif self.revCardOrder == 1:
|
|
||||||
return self.s.scalar(
|
|
||||||
"select id from revCardsNew limit 1")
|
|
||||||
elif self.revCardOrder == 2:
|
|
||||||
return self.s.scalar(
|
|
||||||
"select id from revCardsDue limit 1")
|
|
||||||
else:
|
|
||||||
return self.s.scalar(
|
|
||||||
"select id from revCardsRandom limit 1")
|
|
||||||
|
|
||||||
def cardFromId(self, id, orm=False):
|
def cardFromId(self, id, orm=False):
|
||||||
"Given a card ID, return a card, and start the card timer."
|
"Given a card ID, return a card, and start the card timer."
|
||||||
|
@ -261,18 +257,8 @@ class Deck(object):
|
||||||
sel = """
|
sel = """
|
||||||
select id, factId, modified, question, answer, cardModelId,
|
select id, factId, modified, question, answer, cardModelId,
|
||||||
type, due, interval, factor, priority from """
|
type, due, interval, factor, priority from """
|
||||||
if self.newCardOrder == 0:
|
new = self.newCardTable()
|
||||||
new = "acqCardsRandom"
|
rev = self.revCardTable()
|
||||||
else:
|
|
||||||
new = "acqCardsOrdered"
|
|
||||||
if self.revCardOrder == 0:
|
|
||||||
rev = "revCardsOld"
|
|
||||||
elif self.revCardOrder == 1:
|
|
||||||
rev = "revCardsNew"
|
|
||||||
elif self.revCardOrder == 2:
|
|
||||||
rev = "revCardsDue"
|
|
||||||
else:
|
|
||||||
rev = "revCardsRandom"
|
|
||||||
d = {}
|
d = {}
|
||||||
d['fail'] = self.s.all(sel + """
|
d['fail'] = self.s.all(sel + """
|
||||||
cards where type = 0 and isDue = 1 and
|
cards where type = 0 and isDue = 1 and
|
||||||
|
|
Loading…
Reference in a new issue