From b45f07158171ae7fd7e93e530d4759161905935a Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 2 Jan 2011 17:35:17 +0900 Subject: [PATCH] option to limit graphs to selective study --- anki/graphs.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/anki/graphs.py b/anki/graphs.py index 33c7dcd37..edb33d5dc 100644 --- a/anki/graphs.py +++ b/anki/graphs.py @@ -55,12 +55,13 @@ def graphsAvailable(): class DeckGraphs(object): - def __init__(self, deck, width=8, height=3, dpi=75): + def __init__(self, deck, width=8, height=3, dpi=75, selective=True): self.deck = deck self.stats = None self.width = width self.height = height self.dpi = dpi + self.selective = selective def calcStats (self): if not self.stats: @@ -72,13 +73,19 @@ class DeckGraphs(object): lowestInDay = 0 self.endOfDay = self.deck.failedCutoff t = time.time() - young = self.deck.s.all(""" -select interval, combinedDue from cards -where relativeDelay between 0 and 1 and type >= 0 and interval <= 21""") - mature = self.deck.s.all(""" + young = """ +select interval, combinedDue from cards c +where relativeDelay between 0 and 1 and type >= 0 and interval <= 21""" + mature = """ select interval, combinedDue -from cards where relativeDelay = 1 and type >= 0 and interval > 21""") - +from cards c where relativeDelay = 1 and type >= 0 and interval > 21""" + if self.selective: + young = self.deck._cardLimit("revActive", "revInactive", + young) + mature = self.deck._cardLimit("revActive", "revInactive", + mature) + young = self.deck.s.all(young) + mature = self.deck.s.all(mature) for (src, dest) in [(young, daysYoung), (mature, daysMature)]: for (interval, due) in src: