From 8e40fdcb1805ad5e920d9f5f73b258abcdc910c4 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Fri, 4 Mar 2011 23:25:35 +0900 Subject: [PATCH] set the initial factor when card graduates, not when it's created --- anki/cards.py | 3 ++- anki/groups.py | 2 +- anki/sched.py | 7 ++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/anki/cards.py b/anki/cards.py index 842cbc65e..f7c8a9ad1 100644 --- a/anki/cards.py +++ b/anki/cards.py @@ -69,7 +69,8 @@ class Card(object): self.modelId = fact.modelId self.cardModel = cardModel self.groupId = group.id - self.factor = group.config['initialFactor'] + # placeholder; will get set properly when card graduates + self.factor = 2500 # for non-orm use self.cardModelId = cardModel.id self.ordinal = cardModel.ordinal diff --git a/anki/groups.py b/anki/groups.py index 1985c21b7..e18028781 100644 --- a/anki/groups.py +++ b/anki/groups.py @@ -21,13 +21,13 @@ defaultConf = { 'new': { 'delays': [0.5, 3, 10], 'ints': [1, 7, 4], + 'initialFactor': 2.5, }, 'lapse': { 'delays': [0.5, 3, 10], 'ints': [1, 7, 4], 'mult': 0 }, - 'initialFactor': 2.5, 'suspendLeeches': True, 'leechFails': 16, } diff --git a/anki/sched.py b/anki/sched.py index 8119a54c3..065297f05 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -187,17 +187,18 @@ limit %d""" % self.learnLimit, lim=self.dayCutoff) else: # normal remove int_ = conf['ints'][2] - self.rescheduleAsReview(card, int_) + self.rescheduleAsReview(card, conf, int_) def graduateLearnCard(self, card, conf): if card.type == 1: int_ = None else: int_ = conf['ints'][0] - self.rescheduleAsReview(card, int_) + self.rescheduleAsReview(card, conf, int_) - def rescheduleAsReview(self, card, int_): + def rescheduleAsReview(self, card, conf, int_): card.queue = 1 + card.factor = conf['initialFactor'] if int_: # new card card.type = 1