mirror of
https://github.com/ankitects/anki.git
synced 2025-09-22 16:02:23 -04:00
log lapse time as relearn delay if available
This commit is contained in:
parent
31cabb6d3f
commit
ab5af8c7aa
1 changed files with 9 additions and 5 deletions
|
@ -724,11 +724,12 @@ did = ? and queue = 2 and due <= ? limit ?""",
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
def _answerRevCard(self, card, ease):
|
def _answerRevCard(self, card, ease):
|
||||||
|
delay = 0
|
||||||
if ease == 1:
|
if ease == 1:
|
||||||
self._rescheduleLapse(card)
|
delay = self._rescheduleLapse(card)
|
||||||
else:
|
else:
|
||||||
self._rescheduleRev(card, ease)
|
self._rescheduleRev(card, ease)
|
||||||
self._logRev(card, ease)
|
self._logRev(card, ease, delay)
|
||||||
|
|
||||||
def _rescheduleLapse(self, card):
|
def _rescheduleLapse(self, card):
|
||||||
conf = self._lapseConf(card)
|
conf = self._lapseConf(card)
|
||||||
|
@ -738,9 +739,11 @@ did = ? and queue = 2 and due <= ? limit ?""",
|
||||||
card.factor = max(1300, card.factor-200)
|
card.factor = max(1300, card.factor-200)
|
||||||
card.due = self.today + card.ivl
|
card.due = self.today + card.ivl
|
||||||
# put back in the learn queue?
|
# put back in the learn queue?
|
||||||
|
delay = 0
|
||||||
if conf['delays']:
|
if conf['delays']:
|
||||||
card.odue = card.due
|
card.odue = card.due
|
||||||
card.due = int(self._delayForGrade(conf, 0) + time.time())
|
delay = self._delayForGrade(conf, 0)
|
||||||
|
card.due = int(delay + time.time())
|
||||||
card.left = len(conf['delays'])
|
card.left = len(conf['delays'])
|
||||||
card.left += self._leftToday(conf['delays'], card.left)*1000
|
card.left += self._leftToday(conf['delays'], card.left)*1000
|
||||||
card.queue = 1
|
card.queue = 1
|
||||||
|
@ -748,6 +751,7 @@ did = ? and queue = 2 and due <= ? limit ?""",
|
||||||
# leech?
|
# leech?
|
||||||
if not self._checkLeech(card, conf) and conf['delays']:
|
if not self._checkLeech(card, conf) and conf['delays']:
|
||||||
heappush(self._lrnQueue, (card.due, card.id))
|
heappush(self._lrnQueue, (card.due, card.id))
|
||||||
|
return delay
|
||||||
|
|
||||||
def _nextLapseIvl(self, card, conf):
|
def _nextLapseIvl(self, card, conf):
|
||||||
return int(card.ivl*conf['mult']) + 1
|
return int(card.ivl*conf['mult']) + 1
|
||||||
|
@ -764,12 +768,12 @@ did = ? and queue = 2 and due <= ? limit ?""",
|
||||||
card.odid = 0
|
card.odid = 0
|
||||||
card.odue = 0
|
card.odue = 0
|
||||||
|
|
||||||
def _logRev(self, card, ease):
|
def _logRev(self, card, ease, delay):
|
||||||
def log():
|
def log():
|
||||||
self.col.db.execute(
|
self.col.db.execute(
|
||||||
"insert into revlog values (?,?,?,?,?,?,?,?,?)",
|
"insert into revlog values (?,?,?,?,?,?,?,?,?)",
|
||||||
int(time.time()*1000), card.id, self.col.usn(), ease,
|
int(time.time()*1000), card.id, self.col.usn(), ease,
|
||||||
card.ivl, card.lastIvl, card.factor, card.timeTaken(),
|
-delay or card.ivl, card.lastIvl, card.factor, card.timeTaken(),
|
||||||
1)
|
1)
|
||||||
try:
|
try:
|
||||||
log()
|
log()
|
||||||
|
|
Loading…
Reference in a new issue