mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 06:52:21 -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.answerCard = self._answerCard
|
||||||
self.cardLimit = self._cardLimit
|
self.cardLimit = self._cardLimit
|
||||||
self.answerPreSave = None
|
self.answerPreSave = None
|
||||||
|
self.spaceCards = self._spaceCards
|
||||||
self.scheduler = "standard"
|
self.scheduler = "standard"
|
||||||
# restore any cards temporarily suspended by alternate schedulers
|
# restore any cards temporarily suspended by alternate schedulers
|
||||||
try:
|
try:
|
||||||
|
@ -491,11 +492,17 @@ select count() from cards where type = 2 and combinedDue < :now
|
||||||
self.requeueCard = self._requeueCramCard
|
self.requeueCard = self._requeueCramCard
|
||||||
self.cardQueue = self._cramCardQueue
|
self.cardQueue = self._cramCardQueue
|
||||||
self.answerCard = self._answerCramCard
|
self.answerCard = self._answerCramCard
|
||||||
|
self.spaceCards = self._spaceCramCards
|
||||||
# reuse review early's code
|
# reuse review early's code
|
||||||
self.answerPreSave = self._reviewEarlyPreSave
|
self.answerPreSave = self._reviewEarlyPreSave
|
||||||
self.cardLimit = self._cramCardLimit
|
self.cardLimit = self._cramCardLimit
|
||||||
self.scheduler = "cram"
|
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):
|
def _answerCramCard(self, card, ease):
|
||||||
if ease == 1:
|
if ease == 1:
|
||||||
if self.cardQueue(card) != 0:
|
if self.cardQueue(card) != 0:
|
||||||
|
@ -516,6 +523,10 @@ select count() from cards where type = 2 and combinedDue < :now
|
||||||
return self.revQueue[-1][0]
|
return self.revQueue[-1][0]
|
||||||
if self.failedQueue:
|
if self.failedQueue:
|
||||||
return self.failedQueue[-1][0]
|
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 we're in a custom scheduler, we may need to switch back
|
||||||
if self.finishScheduler:
|
if self.finishScheduler:
|
||||||
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()
|
space += time.time()
|
||||||
return space
|
return space
|
||||||
|
|
||||||
def spaceCards(self, card, space):
|
def _spaceCards(self, card, space):
|
||||||
# adjust counts
|
# adjust counts
|
||||||
for (type, count) in self.s.all("""
|
for (type, count) in self.s.all("""
|
||||||
select type, count(type) from cards
|
select type, count(type) from cards
|
||||||
|
|
Loading…
Reference in a new issue