From 464eb2b684f61e9c60b8ea419c641a7b77390f43 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 24 Mar 2011 09:52:14 +0900 Subject: [PATCH] make sure cramming works if there are no selected groups --- anki/cram.py | 14 +++++++++----- tests/test_sched.py | 3 +++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/anki/cram.py b/anki/cram.py index b97ba1f1d..d8435b41c 100644 --- a/anki/cram.py +++ b/anki/cram.py @@ -62,14 +62,18 @@ class CramScheduler(Scheduler): maxlim = "and due <= %d" % (self.today+1+self.max) else: maxlim = "" + if self.gids: + extra = "and gid in "+ids2str(self.gids) + else: + extra = "" self.newQueue = self.db.list(""" select id from cards where queue = 2 and due >= %d %s -and gid in %s order by %s limit %d""" % (self.today+1+self.min, - maxlim, - ids2str(self.gids), - self.order, - self.reportLimit)) +%s order by %s limit %d""" % (self.today+1+self.min, + maxlim, + extra, + self.order, + self.reportLimit)) self.newCount = len(self.newQueue) def _resetRev(self): diff --git a/tests/test_sched.py b/tests/test_sched.py index a3a33f7f0..796a6e07a 100644 --- a/tests/test_sched.py +++ b/tests/test_sched.py @@ -383,6 +383,9 @@ def test_cram(): d.sched.answerCard(c, 3) assert c.ivl == 1 assert c.due == d.sched.today + 1 + # users should be able to cram entire deck too + d.cramGroups([]) + assert d.sched.counts()[0] > 0 def test_cramLimits(): d = getEmptyDeck()