mirror of
https://github.com/ankitects/anki.git
synced 2025-11-14 16:47:12 -05:00
v2 sched cleanups
This commit is contained in:
parent
1b7a7df4f0
commit
ebe420b440
1 changed files with 11 additions and 6 deletions
|
|
@ -77,7 +77,6 @@ class Scheduler:
|
||||||
return
|
return
|
||||||
|
|
||||||
card.reps += 1
|
card.reps += 1
|
||||||
card.wasNew = card.type == 0
|
|
||||||
|
|
||||||
if card.queue == 0:
|
if card.queue == 0:
|
||||||
# came from the new queue, move to learning
|
# came from the new queue, move to learning
|
||||||
|
|
@ -93,6 +92,8 @@ class Scheduler:
|
||||||
self._answerRevCard(card, ease)
|
self._answerRevCard(card, ease)
|
||||||
# update daily limit
|
# update daily limit
|
||||||
self._updateStats(card, 'rev')
|
self._updateStats(card, 'rev')
|
||||||
|
else:
|
||||||
|
assert 0
|
||||||
|
|
||||||
def _answerCardPreview(self, card, ease):
|
def _answerCardPreview(self, card, ease):
|
||||||
assert 1 <= ease <= 2
|
assert 1 <= ease <= 2
|
||||||
|
|
@ -527,26 +528,28 @@ did = ? and queue = 3 and due <= ? limit ?""",
|
||||||
type = 0
|
type = 0
|
||||||
# lrnCount was decremented once when card was fetched
|
# lrnCount was decremented once when card was fetched
|
||||||
lastLeft = card.left
|
lastLeft = card.left
|
||||||
|
|
||||||
|
leaving = False
|
||||||
|
|
||||||
# immediate graduate?
|
# immediate graduate?
|
||||||
if ease == 4:
|
if ease == 4:
|
||||||
self._rescheduleAsRev(card, conf, True)
|
self._rescheduleAsRev(card, conf, True)
|
||||||
self._logLrn(card, ease, conf, True, type, lastLeft)
|
leaving = True
|
||||||
# next step?
|
# next step?
|
||||||
elif ease == 3:
|
elif ease == 3:
|
||||||
# graduation time?
|
# graduation time?
|
||||||
if (card.left%1000)-1 <= 0:
|
if (card.left%1000)-1 <= 0:
|
||||||
self._rescheduleAsRev(card, conf, False)
|
self._rescheduleAsRev(card, conf, False)
|
||||||
self._logLrn(card, ease, conf, True, type, lastLeft)
|
leaving = True
|
||||||
else:
|
else:
|
||||||
self._moveToNextStep(card, conf)
|
self._moveToNextStep(card, conf)
|
||||||
self._logLrn(card, ease, conf, False, type, lastLeft)
|
|
||||||
elif ease == 2:
|
elif ease == 2:
|
||||||
self._repeatStep(card, conf)
|
self._repeatStep(card, conf)
|
||||||
self._logLrn(card, ease, conf, False, type, lastLeft)
|
|
||||||
else:
|
else:
|
||||||
# back to first step
|
# back to first step
|
||||||
self._moveToFirstStep(card, conf)
|
self._moveToFirstStep(card, conf)
|
||||||
self._logLrn(card, ease, conf, False, type, lastLeft)
|
|
||||||
|
self._logLrn(card, ease, conf, leaving, type, lastLeft)
|
||||||
|
|
||||||
def _moveToFirstStep(self, card, conf):
|
def _moveToFirstStep(self, card, conf):
|
||||||
card.left = self._startingLeft(card)
|
card.left = self._startingLeft(card)
|
||||||
|
|
@ -577,8 +580,10 @@ did = ? and queue = 3 and due <= ? limit ?""",
|
||||||
self._rescheduleLrnCard(card, conf, delay=delay)
|
self._rescheduleLrnCard(card, conf, delay=delay)
|
||||||
|
|
||||||
def _rescheduleLrnCard(self, card, conf, delay=None):
|
def _rescheduleLrnCard(self, card, conf, delay=None):
|
||||||
|
# normal delay for the current step?
|
||||||
if delay is None:
|
if delay is None:
|
||||||
delay = self._delayForGrade(conf, card.left)
|
delay = self._delayForGrade(conf, card.left)
|
||||||
|
|
||||||
if card.due < time.time():
|
if card.due < time.time():
|
||||||
# not collapsed; add some randomness
|
# not collapsed; add some randomness
|
||||||
delay *= random.uniform(1, 1.25)
|
delay *= random.uniform(1, 1.25)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue