mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
simplify rev card answering
This commit is contained in:
parent
0b42787ffc
commit
264e7c8ce9
1 changed files with 8 additions and 20 deletions
|
@ -817,12 +817,12 @@ select id from cards where did in %s and queue = 2 and due <= ? limit ?)"""
|
||||||
delay = 0
|
delay = 0
|
||||||
early = card.odid and (card.odue > self.today)
|
early = card.odid and (card.odue > self.today)
|
||||||
type = early and 3 or 2
|
type = early and 3 or 2
|
||||||
|
|
||||||
if ease == 1:
|
if ease == 1:
|
||||||
delay = self._rescheduleLapse(card)
|
delay = self._rescheduleLapse(card)
|
||||||
elif early:
|
|
||||||
self._rescheduleEarlyRev(card, ease)
|
|
||||||
else:
|
else:
|
||||||
self._rescheduleRev(card, ease)
|
self._rescheduleRev(card, ease, early)
|
||||||
|
|
||||||
self._logRev(card, ease, delay, type)
|
self._logRev(card, ease, delay, type)
|
||||||
|
|
||||||
def _rescheduleLapse(self, card):
|
def _rescheduleLapse(self, card):
|
||||||
|
@ -853,11 +853,14 @@ select id from cards where did in %s and queue = 2 and due <= ? limit ?)"""
|
||||||
ivl = max(1, conf['minInt'], ivl*conf['mult'])
|
ivl = max(1, conf['minInt'], ivl*conf['mult'])
|
||||||
return ivl
|
return ivl
|
||||||
|
|
||||||
def _rescheduleRev(self, card, ease):
|
def _rescheduleRev(self, card, ease, early):
|
||||||
# update interval
|
# update interval
|
||||||
card.lastIvl = card.ivl
|
card.lastIvl = card.ivl
|
||||||
|
if early:
|
||||||
|
self._updateEarlyRevIvl(card, ease)
|
||||||
|
else:
|
||||||
|
self._updateRevIvl(card, ease)
|
||||||
|
|
||||||
self._updateRevIvl(card, ease)
|
|
||||||
# then the rest
|
# then the rest
|
||||||
card.factor = max(1300, card.factor+[-150, 0, 150][ease-2])
|
card.factor = max(1300, card.factor+[-150, 0, 150][ease-2])
|
||||||
card.due = self.today + card.ivl
|
card.due = self.today + card.ivl
|
||||||
|
@ -865,21 +868,6 @@ select id from cards where did in %s and queue = 2 and due <= ? limit ?)"""
|
||||||
# card leaves filtered deck
|
# card leaves filtered deck
|
||||||
self._removeFromFiltered(card)
|
self._removeFromFiltered(card)
|
||||||
|
|
||||||
def _rescheduleEarlyRev(self, card, ease):
|
|
||||||
# update interval
|
|
||||||
card.lastIvl = card.ivl
|
|
||||||
|
|
||||||
self._updateEarlyRevIvl(card, ease)
|
|
||||||
# then the rest
|
|
||||||
card.factor = max(1300, card.factor+[-150, 0, 150][ease-2])
|
|
||||||
card.due = self.today + card.ivl
|
|
||||||
|
|
||||||
# move from 0->2
|
|
||||||
card.queue = 2
|
|
||||||
|
|
||||||
# card leaves filtered deck
|
|
||||||
self._removeFromFiltered(card)
|
|
||||||
|
|
||||||
def _logRev(self, card, ease, delay, type):
|
def _logRev(self, card, ease, delay, type):
|
||||||
def log():
|
def log():
|
||||||
self.col.db.execute(
|
self.col.db.execute(
|
||||||
|
|
Loading…
Reference in a new issue