From 5bc7c390a0d54b4eb5741572c3d133b452265f84 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 26 Oct 2010 11:46:35 +0900 Subject: [PATCH] make sure to respect failed card timing, fix default hard times --- anki/deck.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/anki/deck.py b/anki/deck.py index aa7493f15..b7389ca5b 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -78,8 +78,8 @@ decksTable = Table( # scheduling ############## # initial intervals - Column('hardIntervalMin', Float, nullable=False, default=0.333), - Column('hardIntervalMax', Float, nullable=False, default=0.5), + Column('hardIntervalMin', Float, nullable=False, default=1.0), + Column('hardIntervalMax', Float, nullable=False, default=1.1), Column('midIntervalMin', Float, nullable=False, default=3.0), Column('midIntervalMax', Float, nullable=False, default=5.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() if self.failedNoSpaced(): # failed card due? - if self.delay0: + if self.delay0 and self.failedQueue[-1][2] < time.time(): return self.failedQueue[-1][0] # failed card queue too big? if (self.failedCardMax and @@ -3046,10 +3046,14 @@ class DeckStorage(object): deck.currentModel = deck.models[0] # ensure the necessary indices are available deck.updateDynamicIndices() - # FIXME: temporary code to ensure cards suspended on older clients are - # recognized + # FIXME: temporary code for upgrade + # - ensure cards suspended on older clients are recognized deck.s.statement(""" 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 ids = deck.s.column0( "select id from cards where type in (3,4,5) and priority in (-1, -2)")