set a different log type for lapsed learning

This commit is contained in:
Damien Elmes 2011-03-26 08:57:25 +09:00
parent 4867ffe25a
commit c7eb4253bd
2 changed files with 9 additions and 3 deletions

View file

@ -5,6 +5,8 @@
from anki.utils import ids2str, intTime from anki.utils import ids2str, intTime
from anki.sched import Scheduler from anki.sched import Scheduler
# fixme: set log type for cram
class CramScheduler(Scheduler): class CramScheduler(Scheduler):
name = "cram" name = "cram"

View file

@ -223,6 +223,10 @@ limit %d""" % self.reportLimit, lim=self.dayCutoff)
def _answerLrnCard(self, card, ease): def _answerLrnCard(self, card, ease):
# ease 1=no, 2=yes, 3=remove # ease 1=no, 2=yes, 3=remove
conf = self._lrnConf(card) conf = self._lrnConf(card)
if card.type == 2:
type = 2
else:
type = 0
leaving = False leaving = False
if ease == 3: if ease == 3:
self._rescheduleAsRev(card, conf, True) self._rescheduleAsRev(card, conf, True)
@ -238,7 +242,7 @@ limit %d""" % self.reportLimit, lim=self.dayCutoff)
card.grade = 0 card.grade = 0
card.due = time.time() + self._delayForGrade(conf, card.grade) card.due = time.time() + self._delayForGrade(conf, card.grade)
heappush(self.lrnQueue, (card.due, card.id)) heappush(self.lrnQueue, (card.due, card.id))
self._logLrn(card, ease, conf, leaving) self._logLrn(card, ease, conf, leaving, type)
def _delayForGrade(self, conf, grade): def _delayForGrade(self, conf, grade):
return conf['delays'][grade]*60 return conf['delays'][grade]*60
@ -279,7 +283,7 @@ limit %d""" % self.reportLimit, lim=self.dayCutoff)
card.due = self.today+card.ivl card.due = self.today+card.ivl
card.factor = conf['initialFactor'] card.factor = conf['initialFactor']
def _logLrn(self, card, ease, conf, leaving): def _logLrn(self, card, ease, conf, leaving, type):
# limit time taken to global setting # limit time taken to global setting
taken = min(card.timeTaken(), self._cardConf(card)['maxTaken']*1000) taken = min(card.timeTaken(), self._cardConf(card)['maxTaken']*1000)
def log(): def log():
@ -290,7 +294,7 @@ limit %d""" % self.reportLimit, lim=self.dayCutoff)
self._delayForGrade(conf, card.grade), self._delayForGrade(conf, card.grade),
# last interval # last interval
self._delayForGrade(conf, max(0, card.grade-1)), self._delayForGrade(conf, max(0, card.grade-1)),
leaving, taken, 0) leaving, taken, type)
try: try:
log() log()
except: except: