don't throw error when learning card answered with no steps

This commit is contained in:
Damien Elmes 2012-07-04 22:58:15 +09:00
parent c5abb535ed
commit 52ae784a65
2 changed files with 26 additions and 1 deletions

View file

@ -542,7 +542,11 @@ did = ? and queue = 3 and due <= ? limit ?""",
try:
delay = conf['delays'][-left]
except IndexError:
if conf['delays']:
delay = conf['delays'][0]
else:
# user deleted final step; use dummy value
delay = 1
return delay*60
def _lrnConf(self, card):

View file

@ -1095,3 +1095,24 @@ def test_resched():
c.load()
assert c.due == d.sched.today+1
assert c.ivl == +1
def test_norelearn():
d = getEmptyDeck()
# add a note
f = d.newNote()
f['Front'] = u"one"
d.addNote(f)
c = f.cards()[0]
c.type = 2
c.queue = 2
c.due = 0
c.factor = 2500
c.reps = 3
c.lapses = 1
c.ivl = 100
c.startTimer()
c.flush()
d.reset()
d.sched.answerCard(c, 1)
d.sched._cardConf(c)['lapse']['delays'] = []
d.sched.answerCard(c, 1)