mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00
reapply failure mult on failures in lrn queue
This commit is contained in:
parent
243c2b11ed
commit
e27cbd2cb7
2 changed files with 31 additions and 10 deletions
|
@ -528,16 +528,15 @@ did = ? and queue = 3 and due <= ? limit ?""",
|
|||
# failed
|
||||
else:
|
||||
card.left = self._startingLeft(card)
|
||||
if card.odid:
|
||||
resched = self._resched(card)
|
||||
if 'mult' in conf and resched:
|
||||
# review that's lapsed
|
||||
card.ivl = max(1, card.ivl*conf['mult'])
|
||||
else:
|
||||
# new card; no ivl adjustment
|
||||
pass
|
||||
if resched:
|
||||
card.odue = self.today + 1
|
||||
resched = self._resched(card)
|
||||
if 'mult' in conf and resched:
|
||||
# review that's lapsed
|
||||
card.ivl = max(1, card.ivl*conf['mult'])
|
||||
else:
|
||||
# new card; no ivl adjustment
|
||||
pass
|
||||
if resched and card.odid:
|
||||
card.odue = self.today + 1
|
||||
delay = self._delayForGrade(conf, card.left)
|
||||
if card.due < time.time():
|
||||
# not collapsed; add some randomness
|
||||
|
|
|
@ -1144,3 +1144,25 @@ def test_norelearn():
|
|||
d.sched.answerCard(c, 1)
|
||||
d.sched._cardConf(c)['lapse']['delays'] = []
|
||||
d.sched.answerCard(c, 1)
|
||||
|
||||
def test_failmult():
|
||||
d = getEmptyDeck()
|
||||
f = d.newNote()
|
||||
f['Front'] = u"one"; f['Back'] = u"two"
|
||||
d.addNote(f)
|
||||
c = f.cards()[0]
|
||||
c.type = 2
|
||||
c.queue = 2
|
||||
c.ivl = 100
|
||||
c.due = d.sched.today - c.ivl
|
||||
c.factor = 2500
|
||||
c.reps = 3
|
||||
c.lapses = 1
|
||||
c.startTimer()
|
||||
c.flush()
|
||||
d.sched._cardConf(c)['lapse']['mult'] = 0.5
|
||||
c = d.sched.getCard()
|
||||
d.sched.answerCard(c, 1)
|
||||
assert c.ivl == 50
|
||||
d.sched.answerCard(c, 1)
|
||||
assert c.ivl == 25
|
||||
|
|
Loading…
Reference in a new issue