From 4dde7b13d05b118ac9a0c0b6d7359337391ea02e Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sat, 17 Aug 2019 18:45:00 +1000 Subject: [PATCH] ensure random distribution of due cards for a given day in v2 sched --- anki/schedv2.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/anki/schedv2.py b/anki/schedv2.py index 04e002699..33964db69 100644 --- a/anki/schedv2.py +++ b/anki/schedv2.py @@ -792,19 +792,13 @@ did in %s and queue = 2 and due <= ? limit %d)""" % ( self._revQueue = self.col.db.list(""" select id from cards where did in %s and queue = 2 and due <= ? -order by due +order by due, random() limit ?""" % (ids2str(self.col.decks.active())), self.today, lim) if self._revQueue: - if self.col.decks.get(self.col.decks.selected(), default=False)['dyn']: - # dynamic decks need due order preserved - self._revQueue.reverse() - else: - # fixme: as soon as a card is answered, this is no longer consistent - r = random.Random() - r.seed(self.today) - r.shuffle(self._revQueue) + # preserve order + self._revQueue.reverse() return True if self.revCount: