From 8030b2c969dd18752a0834ab3c69199b277f7e2d Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 11 Mar 2012 14:52:12 +0900 Subject: [PATCH] use type not queue for rev sib. spacing, fix cram case --- anki/sched.py | 6 ++++-- tests/test_sched.py | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/anki/sched.py b/anki/sched.py index 187815636..8b320ef1f 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -703,7 +703,7 @@ did = ? and queue = 2 and due <= ? %s limit ?""" % order, conf = self._revConf(card) # find sibling positions dues = self.col.db.list( - "select due from cards where nid = ? and queue = 2" + "select due from cards where nid = ? and type = 2" " and id != ?", card.nid, card.id) if not dues or idealDue not in dues: return idealIvl @@ -864,7 +864,9 @@ did = ?, queue = %s, due = ?, mod = ?, usn = ? where id = ?""" % queue, data) return dict( # original deck ease4=oconf['rev']['ease4'], - fi=oconf['rev']['fi'] + fi=oconf['rev']['fi'], + minSpace=oconf['rev']['minSpace'], + fuzz=oconf['rev']['fuzz'] ) def _deckLimit(self): diff --git a/tests/test_sched.py b/tests/test_sched.py index ad67ef1be..576100e6e 100644 --- a/tests/test_sched.py +++ b/tests/test_sched.py @@ -508,6 +508,7 @@ def test_cram(): d.reset() assert d.sched.counts() == (0,0,0) c.due = 0 + c.ivl = 100 c.flush() d.reset() assert d.sched.counts() == (0,0,1) @@ -521,6 +522,13 @@ def test_cram(): d.sched.rebuildDyn(did) d.reset() assert d.sched.counts() == (0,0,1) + # add a sibling so we can test minSpace, etc + c2 = copy.deepcopy(c) + c2.id = 123 + c2.ord = 1 + c2.due = 325 + c2.col = c.col + c2.flush() # should be able to answer it c = d.sched.getCard() d.sched.answerCard(c, 4)