From eb1846094587adf47c08bb6f151a41011748c276 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 20 Mar 2011 06:31:20 +0900 Subject: [PATCH] save creation time in deck flush, update cutoff on reset not deck load --- anki/cram.py | 1 + anki/deck.py | 4 ++-- anki/sched.py | 2 +- anki/storage.py | 2 ++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/anki/cram.py b/anki/cram.py index bbd6fb383..e14974eb1 100644 --- a/anki/cram.py +++ b/anki/cram.py @@ -22,6 +22,7 @@ class CramScheduler(Scheduler): return (self.newCount, self.lrnCount, 0) def reset(self): + self._updateCutoff() self._resetConf() self._resetLrn() self._resetNew() diff --git a/anki/deck.py b/anki/deck.py index 24e52b926..3b5c37b79 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -105,9 +105,9 @@ qconf, conf, data from deck""") self.mod = intTime() self.db.execute( """update deck set -mod=?, scm=?, syncName=?, lastSync=?, +crt=?, mod=?, scm=?, syncName=?, lastSync=?, qconf=?, conf=?, data=?""", - self.mod, self.scm, self.syncName, self.lastSync, + self.crt, self.mod, self.scm, self.syncName, self.lastSync, simplejson.dumps(self.qconf), simplejson.dumps(self.conf), simplejson.dumps(self.data)) diff --git a/anki/sched.py b/anki/sched.py index d2c18cbdf..2b62d19b6 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -19,7 +19,6 @@ class Scheduler(object): self.db = deck.db self.queueLimit = 200 self.reportLimit = 1000 - self._updateCutoff() def getCard(self): "Pop the next card from the queue. None if finished." @@ -31,6 +30,7 @@ class Scheduler(object): return c def reset(self): + self._updateCutoff() self._resetConf() t = time.time() self._resetLrn() diff --git a/anki/storage.py b/anki/storage.py index 40cabefe6..da3a0fc68 100644 --- a/anki/storage.py +++ b/anki/storage.py @@ -486,12 +486,14 @@ def _postSchemaUpgrade(deck): # adjust models _fixupModels(deck) # fix creation time + deck.sched._updateCutoff() d = datetime.datetime.today() d -= datetime.timedelta(hours=4) d = datetime.datetime(d.year, d.month, d.day) d += datetime.timedelta(hours=4) d -= datetime.timedelta(days=1+int((time.time()-deck.crt)/86400)) deck.crt = int(time.mktime(d.timetuple())) + deck.sched._updateCutoff() # update uniq cache deck.updateFieldCache(deck.db.list("select id from facts")) # remove old views