mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
collapse spacing when cramming
This commit is contained in:
parent
cc12c8c573
commit
4524fd84fe
1 changed files with 12 additions and 1 deletions
13
anki/deck.py
13
anki/deck.py
|
@ -190,6 +190,7 @@ class Deck(object):
|
|||
self.answerCard = self._answerCard
|
||||
self.cardLimit = self._cardLimit
|
||||
self.answerPreSave = None
|
||||
self.spaceCards = self._spaceCards
|
||||
self.scheduler = "standard"
|
||||
# restore any cards temporarily suspended by alternate schedulers
|
||||
try:
|
||||
|
@ -491,11 +492,17 @@ select count() from cards where type = 2 and combinedDue < :now
|
|||
self.requeueCard = self._requeueCramCard
|
||||
self.cardQueue = self._cramCardQueue
|
||||
self.answerCard = self._answerCramCard
|
||||
self.spaceCards = self._spaceCramCards
|
||||
# reuse review early's code
|
||||
self.answerPreSave = self._reviewEarlyPreSave
|
||||
self.cardLimit = self._cramCardLimit
|
||||
self.scheduler = "cram"
|
||||
|
||||
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):
|
||||
if ease == 1:
|
||||
if self.cardQueue(card) != 0:
|
||||
|
@ -516,6 +523,10 @@ select count() from cards where type = 2 and combinedDue < :now
|
|||
return self.revQueue[-1][0]
|
||||
if self.failedQueue:
|
||||
return self.failedQueue[-1][0]
|
||||
if check:
|
||||
# collapse spaced cards before reverting back to old scheduler
|
||||
self.reset()
|
||||
return self.getCardId(False)
|
||||
# if we're in a custom scheduler, we may need to switch back
|
||||
if self.finishScheduler:
|
||||
self.finishScheduler()
|
||||
|
@ -797,7 +808,7 @@ where factId = :fid and id != :id""", fid=card.factId, id=card.id) or 0
|
|||
space += time.time()
|
||||
return space
|
||||
|
||||
def spaceCards(self, card, space):
|
||||
def _spaceCards(self, card, space):
|
||||
# adjust counts
|
||||
for (type, count) in self.s.all("""
|
||||
select type, count(type) from cards
|
||||
|
|
Loading…
Reference in a new issue