mirror of
https://github.com/ankitects/anki.git
synced 2025-09-21 15:32:23 -04:00
add some randomness to lrn interval
This commit is contained in:
parent
495b058618
commit
fc96e12a0a
2 changed files with 7 additions and 2 deletions
|
@ -294,7 +294,11 @@ limit %d""" % self.reportLimit, lim=self.dayCutoff)
|
|||
card.grade += 1
|
||||
else:
|
||||
card.grade = 0
|
||||
card.due = time.time() + self._delayForGrade(conf, card.grade)
|
||||
delay = self._delayForGrade(conf, card.grade)
|
||||
if card.due < time.time():
|
||||
# not collapsed; add some randomness
|
||||
delay *= random.uniform(1, 1.25)
|
||||
card.due = time.time() + delay
|
||||
heappush(self.lrnQueue, (card.due, card.id))
|
||||
self._logLrn(card, ease, conf, leaving, type)
|
||||
|
||||
|
|
|
@ -65,7 +65,8 @@ def test_learn():
|
|||
# fail it
|
||||
d.sched.answerCard(c, 1)
|
||||
# it should by due in 30 seconds
|
||||
assert round(c.due - time.time()) == 30
|
||||
t = round(c.due - time.time())
|
||||
assert t >= 30 and t <= 40
|
||||
# and have 1 cycle, but still a zero grade
|
||||
assert c.grade == 0
|
||||
assert c.cycles == 1
|
||||
|
|
Loading…
Reference in a new issue