From 492ed33f4d4091aa071128588e0d346e1bef1ad3 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 4 Sep 2013 04:17:43 +0900 Subject: [PATCH] add relative overdueness option --- anki/consts.py | 2 ++ anki/sched.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/anki/consts.py b/anki/consts.py index 9c9a85820..bf8feaf47 100644 --- a/anki/consts.py +++ b/anki/consts.py @@ -36,6 +36,7 @@ DYN_LAPSES = 4 DYN_ADDED = 5 DYN_DUE = 6 DYN_REVADDED = 7 +DYN_DUEPRIORITY = 8 # model types MODEL_STD = 0 @@ -83,4 +84,5 @@ def dynOrderLabels(): 5: _("Order added"), 6: _("Order due"), 7: _("Latest added first"), + 8: _("Relative overdueness"), } diff --git a/anki/sched.py b/anki/sched.py index 96aab629d..1f74b6af9 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -967,6 +967,9 @@ due = odue, odue = 0, odid = 0, usn = ?, mod = ? where %s""" % lim, t = "n.id desc" elif o == DYN_DUE: t = "c.due" + elif o == DYN_DUEPRIORITY: + t = "(case when queue=2 and due <= %d then (ivl / cast(%d-due+0.001 as real)) else 10000+due end)" % ( + self.today, self.today) else: # if we don't understand the term, default to due order t = "c.due"