mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
remove review order options
As cram decks provide a more efficient way of ordering reviews, we can limit normal reviews to just due order.
This commit is contained in:
parent
81c07158e9
commit
dc85212bfe
4 changed files with 9 additions and 26 deletions
|
@ -13,11 +13,6 @@ NEW_CARDS_FIRST = 2
|
|||
NEW_CARDS_RANDOM = 0
|
||||
NEW_CARDS_DUE = 1
|
||||
|
||||
# review card sort order
|
||||
REV_CARDS_RANDOM = 0
|
||||
REV_CARDS_OLD_FIRST = 1
|
||||
REV_CARDS_NEW_FIRST = 2
|
||||
|
||||
# removal types
|
||||
REM_CARD = 0
|
||||
REM_NOTE = 1
|
||||
|
|
|
@ -66,7 +66,6 @@ defaultConf = {
|
|||
'fuzz': 0.05,
|
||||
'minSpace': 1,
|
||||
'fi': [10, 10],
|
||||
'order': REV_CARDS_RANDOM,
|
||||
},
|
||||
'maxTaken': 60,
|
||||
'timer': 0,
|
||||
|
|
|
@ -581,20 +581,21 @@ did = ? and queue = 2 and due <= ? limit %d)""" % lim,
|
|||
while self._revDids:
|
||||
did = self._newDids[0]
|
||||
lim = min(self.queueLimit, self._deckRevLimit(did))
|
||||
order = self._revOrder(did)
|
||||
if lim:
|
||||
# fill the queue with the current did
|
||||
self._revQueue = self.col.db.list("""
|
||||
select id from cards where
|
||||
did = ? and queue = 2 and due <= ? %s limit ?""" % order,
|
||||
did = ? and queue = 2 and due <= ? limit ?""",
|
||||
did, self.today, lim)
|
||||
if self._revQueue:
|
||||
if not order:
|
||||
if self.col.decks.get(did)['dyn']:
|
||||
# dynamic decks need due order preserved
|
||||
self._revQueue.reverse()
|
||||
else:
|
||||
# random order for regular reviews
|
||||
r = random.Random()
|
||||
r.seed(self.today)
|
||||
r.shuffle(self._revQueue)
|
||||
else:
|
||||
self._revQueue.reverse()
|
||||
return True
|
||||
# nothing left in the deck; move to next
|
||||
self._newDids.pop(0)
|
||||
|
@ -604,15 +605,6 @@ did = ? and queue = 2 and due <= ? %s limit ?""" % order,
|
|||
self.revCount -= 1
|
||||
return self.col.getCard(self._revQueue.pop())
|
||||
|
||||
def _revOrder(self, did):
|
||||
d = self.col.decks.confForDid(did)
|
||||
if d['dyn']:
|
||||
return ""
|
||||
o = d['rev']['order']
|
||||
if o:
|
||||
return "order by %s" % ("ivl desc", "ivl")[o-1]
|
||||
return ""
|
||||
|
||||
# Answering a review card
|
||||
##########################################################################
|
||||
|
||||
|
|
|
@ -511,13 +511,10 @@ def test_cram():
|
|||
c.flush()
|
||||
d.reset()
|
||||
assert d.sched.counts() == (0,0,1)
|
||||
# cram again, with the review treated as a cram
|
||||
# cram again
|
||||
did = d.decks.newDyn("Cram")
|
||||
d.decks.get(did)['cramRev'] = True
|
||||
d.sched.rebuildDyn(did)
|
||||
d.reset()
|
||||
assert d.sched.counts() == (1,0,0)
|
||||
# but if cramRev is false, it's placed in the review queue instead
|
||||
# if cramRev is false, it's placed in the review queue instead
|
||||
# fixme: cards pulled from a deck with cramRev=True remain in that state
|
||||
d.decks.get(did)['cramRev'] = False
|
||||
d.sched.rebuildDyn(did)
|
||||
d.reset()
|
||||
|
|
Loading…
Reference in a new issue