mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 15:02:21 -04:00
updated failed card handling when cramming
- temp suspend all answered cards, regardless of type - fails influence the standard scheduling too
This commit is contained in:
parent
37e269ab81
commit
76135dc8be
1 changed files with 6 additions and 7 deletions
13
anki/deck.py
13
anki/deck.py
|
@ -509,24 +509,23 @@ select count() from cards where type = 2 and combinedDue < :now
|
|||
self.answerCard = self._answerCramCard
|
||||
self.spaceCards = self._spaceCramCards
|
||||
# reuse review early's code
|
||||
self.answerPreSave = self._reviewEarlyPreSave
|
||||
self.answerPreSave = self._cramPreSave
|
||||
self.cardLimit = self._cramCardLimit
|
||||
self.scheduler = "cram"
|
||||
|
||||
def _cramPreSave(self, card, ease):
|
||||
# prevent it from appearing in next queue fill
|
||||
card.type += 6
|
||||
|
||||
def _spaceCramCards(self, card, space):
|
||||
# if non-zero spacing, limit to 10 minutes or queue refill
|
||||
if space > time.time():
|
||||
self.spacedFacts[card.factId] = time.time() + 600
|
||||
|
||||
def _answerCramCard(self, card, ease):
|
||||
self._answerCard(card, ease)
|
||||
if ease == 1:
|
||||
if self.cardQueue(card) != 0:
|
||||
self.failedSoonCount += 1
|
||||
self.revCount -= 1
|
||||
self.requeueCard(card, None)
|
||||
self.failedCramQueue.insert(0, [card.id, card.factId])
|
||||
else:
|
||||
self._answerCard(card, ease)
|
||||
|
||||
def _getCramCardId(self, check=True):
|
||||
self.checkDailyStats()
|
||||
|
|
Loading…
Reference in a new issue