mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 23:12:21 -04:00
correctly handle relearn steps of 1+ days
This commit is contained in:
parent
07ae142781
commit
7130f2c1fe
1 changed files with 19 additions and 9 deletions
|
@ -750,20 +750,30 @@ did = ? and queue = 2 and due <= ? limit ?""",
|
||||||
card.ivl = self._nextLapseIvl(card, conf)
|
card.ivl = self._nextLapseIvl(card, conf)
|
||||||
card.factor = max(1300, card.factor-200)
|
card.factor = max(1300, card.factor-200)
|
||||||
card.due = self.today + card.ivl
|
card.due = self.today + card.ivl
|
||||||
# put back in the learn queue?
|
# if suspended as a leech, nothing to do
|
||||||
delay = 0
|
delay = 0
|
||||||
if conf['delays']:
|
if self._checkLeech(card, conf) and card.queue == -1:
|
||||||
|
return delay
|
||||||
|
# if no relearning steps, nothing to do
|
||||||
|
if not conf['delays']:
|
||||||
|
return delay
|
||||||
|
# record rev due date for later
|
||||||
if not card.odue:
|
if not card.odue:
|
||||||
card.odue = card.due
|
card.odue = card.due
|
||||||
delay = self._delayForGrade(conf, 0)
|
delay = self._delayForGrade(conf, 0)
|
||||||
card.due = int(delay + time.time())
|
card.due = int(delay + time.time())
|
||||||
|
# queue 1
|
||||||
|
if card.due < self.dayCutoff:
|
||||||
card.left = len(conf['delays'])
|
card.left = len(conf['delays'])
|
||||||
card.left += self._leftToday(conf['delays'], card.left)*1000
|
card.left += self._leftToday(conf['delays'], card.left)*1000
|
||||||
card.queue = 1
|
|
||||||
self.lrnCount += card.left/1000
|
self.lrnCount += card.left/1000
|
||||||
# leech?
|
card.queue = 1
|
||||||
if not self._checkLeech(card, conf) and conf['delays']:
|
|
||||||
heappush(self._lrnQueue, (card.due, card.id))
|
heappush(self._lrnQueue, (card.due, card.id))
|
||||||
|
else:
|
||||||
|
# day learn queue
|
||||||
|
ahead = ((card.due - self.dayCutoff) / 86400) + 1
|
||||||
|
card.due = self.today + ahead
|
||||||
|
card.queue = 3
|
||||||
return delay
|
return delay
|
||||||
|
|
||||||
def _nextLapseIvl(self, card, conf):
|
def _nextLapseIvl(self, card, conf):
|
||||||
|
|
Loading…
Reference in a new issue