diff --git a/anki/sched.py b/anki/sched.py index 2e80259a2..3755fc7d1 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -327,7 +327,11 @@ limit %d""" % (self._groupLimit(), self.reportLimit), lim=self.dayCutoff) self._logLrn(card, ease, conf, leaving, type) def _delayForGrade(self, conf, grade): - return conf['delays'][grade]*60 + try: + delay = conf['delays'][grade] + except IndexError: + delay = conf['delays'][-1] + return delay*60 def _lrnConf(self, card): conf = self._cardConf(card) diff --git a/tests/test_sched.py b/tests/test_sched.py index 1f300502a..cf826e909 100644 --- a/tests/test_sched.py +++ b/tests/test_sched.py @@ -71,6 +71,20 @@ def test_newOrder(): # cards should be sorted by id assert d.sched.newQueue == list(reversed(sorted(d.sched.newQueue))) +def test_newBoxes(): + d = getEmptyDeck() + f = d.newFact() + f['Front'] = u"one" + d.addFact(f) + d.reset() + c = d.sched.getCard() + d.sched.answerCard(c, 2) + d.sched.answerCard(c, 2) + assert c.grade == 2 + d.sched._cardConf(c)['new']['delays'] = [0.5] + # should handle gracefully + d.sched.answerCard(c, 2) + def test_learn(): d = getEmptyDeck() # add a fact