mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
make sure to respect failed card timing, fix default hard times
This commit is contained in:
parent
27b7ccb41f
commit
5bc7c390a0
1 changed files with 9 additions and 5 deletions
14
anki/deck.py
14
anki/deck.py
|
@ -78,8 +78,8 @@ decksTable = Table(
|
||||||
# scheduling
|
# scheduling
|
||||||
##############
|
##############
|
||||||
# initial intervals
|
# initial intervals
|
||||||
Column('hardIntervalMin', Float, nullable=False, default=0.333),
|
Column('hardIntervalMin', Float, nullable=False, default=1.0),
|
||||||
Column('hardIntervalMax', Float, nullable=False, default=0.5),
|
Column('hardIntervalMax', Float, nullable=False, default=1.1),
|
||||||
Column('midIntervalMin', Float, nullable=False, default=3.0),
|
Column('midIntervalMin', Float, nullable=False, default=3.0),
|
||||||
Column('midIntervalMax', Float, nullable=False, default=5.0),
|
Column('midIntervalMax', Float, nullable=False, default=5.0),
|
||||||
Column('easyIntervalMin', Float, nullable=False, default=7.0),
|
Column('easyIntervalMin', Float, nullable=False, default=7.0),
|
||||||
|
@ -545,7 +545,7 @@ select count(*) from cards where type in (0,1,2) %s
|
||||||
self.updateNewCountToday()
|
self.updateNewCountToday()
|
||||||
if self.failedNoSpaced():
|
if self.failedNoSpaced():
|
||||||
# failed card due?
|
# failed card due?
|
||||||
if self.delay0:
|
if self.delay0 and self.failedQueue[-1][2] < time.time():
|
||||||
return self.failedQueue[-1][0]
|
return self.failedQueue[-1][0]
|
||||||
# failed card queue too big?
|
# failed card queue too big?
|
||||||
if (self.failedCardMax and
|
if (self.failedCardMax and
|
||||||
|
@ -3046,10 +3046,14 @@ class DeckStorage(object):
|
||||||
deck.currentModel = deck.models[0]
|
deck.currentModel = deck.models[0]
|
||||||
# ensure the necessary indices are available
|
# ensure the necessary indices are available
|
||||||
deck.updateDynamicIndices()
|
deck.updateDynamicIndices()
|
||||||
# FIXME: temporary code to ensure cards suspended on older clients are
|
# FIXME: temporary code for upgrade
|
||||||
# recognized
|
# - ensure cards suspended on older clients are recognized
|
||||||
deck.s.statement("""
|
deck.s.statement("""
|
||||||
update cards set type = type + 3 where type < 3 and priority <= 0""")
|
update cards set type = type + 3 where type < 3 and priority <= 0""")
|
||||||
|
# - ensure hard scheduling over a day if per day
|
||||||
|
if deck.getBool("perDay"):
|
||||||
|
deck.hardIntervalMin = max(1.0, deck.hardIntervalMin)
|
||||||
|
deck.hardIntervalMax = max(1.1, deck.hardIntervalMax)
|
||||||
# unsuspend reviewed early & buried
|
# unsuspend reviewed early & buried
|
||||||
ids = deck.s.column0(
|
ids = deck.s.column0(
|
||||||
"select id from cards where type in (3,4,5) and priority in (-1, -2)")
|
"select id from cards where type in (3,4,5) and priority in (-1, -2)")
|
||||||
|
|
Loading…
Reference in a new issue