From 81c07158e975ade0bdc19cd040254f6d98cb42f3 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 13 Mar 2012 19:16:39 +0900 Subject: [PATCH] make sure reviews are due when cramming --- anki/sched.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/anki/sched.py b/anki/sched.py index cc60347fa..af49a924e 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -740,8 +740,6 @@ did = ? and queue = 2 and due <= ? %s limit ?""" % order, order = self._dynOrder(deck) limit = " limit %d" % deck['limit'] ids = self.col.findCards(deck['search'], order=order+limit) - if deck['order'] == DYN_RANDOM: - random.shuffle(ids) # move the cards over self._moveToDyn(did, ids) # and change to our new deck @@ -756,6 +754,8 @@ usn = ?, mod = ? where did = ?""", self.col.usn(), intTime(), did) o = deck['order'] if o == DYN_OLDEST: return "order by c.mod" + elif o == DYN_RANDOM: + return "order by random()" # elif o == "added": # return "order by n.id" # elif o == "random": @@ -772,7 +772,8 @@ usn = ?, mod = ? where did = ?""", self.col.usn(), intTime(), did) data = [] t = intTime(); u = self.col.usn() for c, id in enumerate(ids): - data.append((did, c, t, u, id)) + # start at -1000 so that reviews are all due + data.append((did, -1000+c, t, u, id)) if deck['cramRev']: # everything in the new queue queue = "0"