diff --git a/anki/deck.py b/anki/deck.py index 92000d05e..c69a9d7be 100644 --- a/anki/deck.py +++ b/anki/deck.py @@ -24,9 +24,9 @@ defaultQconf = { 'newPerDay': 20, 'newToday': [0, 0], # currentDay, count 'newTodayOrder': NEW_TODAY_ORD, - 'newCardOrder': 1, - 'newCardSpacing': NEW_CARDS_DISTRIBUTE, - 'revCardOrder': REV_CARDS_RANDOM, + 'newOrder': 1, + 'newSpread': NEW_CARDS_DISTRIBUTE, + 'revOrder': REV_CARDS_RANDOM, 'collapseTime': 600, } @@ -217,7 +217,7 @@ qconf=?, conf=?, data=?""", # notice any new tags self.registerTags(fact.tags) # if random mode, determine insertion point - if self.qconf['newCardOrder'] == NEW_CARDS_RANDOM: + if self.qconf['newOrder'] == NEW_CARDS_RANDOM: due = random.randrange(0, 1000000) else: due = fact.id @@ -270,7 +270,7 @@ select id from facts where id not in (select distinct fid from cards)""") "Generate cards for templates if cards not empty. Return cards." cards = [] # if random mode, determine insertion point - if self.qconf['newCardOrder'] == NEW_CARDS_RANDOM: + if self.qconf['newOrder'] == NEW_CARDS_RANDOM: # if this fact has existing new cards, use their due time due = self.db.scalar( "select due from cards where fid = ? and queue = 0", fact.id) diff --git a/anki/sched.py b/anki/sched.py index bc755bc58..220707540 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -175,7 +175,7 @@ queue = 0 %s order by due limit %d""" % (self._groupLimit('new'), return id def _updateNewCardRatio(self): - if self.deck.qconf['newCardSpacing'] == NEW_CARDS_DISTRIBUTE: + if self.deck.qconf['newSpread'] == NEW_CARDS_DISTRIBUTE: if self.newCount: self.newCardModulus = ( (self.newCount + self.revCount) / self.newCount) @@ -189,9 +189,9 @@ queue = 0 %s order by due limit %d""" % (self._groupLimit('new'), "True if it's time to display a new card when distributing." if not self.newCount: return False - if self.deck.qconf['newCardSpacing'] == NEW_CARDS_LAST: + if self.deck.qconf['newSpread'] == NEW_CARDS_LAST: return False - elif self.deck.qconf['newCardSpacing'] == NEW_CARDS_FIRST: + elif self.deck.qconf['newSpread'] == NEW_CARDS_FIRST: return True elif self.newCardModulus: return self.deck.reps and self.deck.reps % self.newCardModulus == 0 @@ -326,7 +326,7 @@ select id from cards where queue = 2 %s and due <= :lim order by %s limit %d""" % ( self._groupLimit("rev"), self._revOrder(), self.queueLimit), lim=self.today) - if self.deck.qconf['revCardOrder'] == REV_CARDS_RANDOM: + if self.deck.qconf['revOrder'] == REV_CARDS_RANDOM: random.shuffle(self.revQueue) else: self.revQueue.reverse() @@ -344,7 +344,7 @@ queue = 2 %s and due <= :lim order by %s limit %d""" % ( def _revOrder(self): return ("ivl desc", "ivl", - "due")[self.deck.qconf['revCardOrder']] + "due")[self.deck.qconf['revOrder']] # Answering a review card ########################################################################## @@ -651,7 +651,7 @@ queue = 2 %s and due <= :lim order by %s limit %d""" % ( def updateDynamicIndices(self): # determine required columns required = [] - if self.deck.qconf['revCardOrder'] in ( + if self.deck.qconf['revOrder'] in ( REV_CARDS_OLD_FIRST, REV_CARDS_NEW_FIRST): required.append("interval") cols = ["queue", "due", "gid"] + required @@ -682,7 +682,7 @@ queue = 2 %s and due <= :lim order by %s limit %d""" % ( # sql2 += " where cardId in "+sids # self.db.execute(sql, now=time.time()) # self.db.execute(sql2) -# if self.qconf['newCardOrder'] == NEW_CARDS_RANDOM: +# if self.qconf['newOrder'] == NEW_CARDS_RANDOM: # # we need to re-randomize now # self.randomizeNewCards(ids) diff --git a/anki/storage.py b/anki/storage.py index 53d027de9..de80e5567 100644 --- a/anki/storage.py +++ b/anki/storage.py @@ -375,6 +375,10 @@ insert or replace into deck select id, cast(created as int), :t, for k in keys: db.execute("delete from deckVars where key=:k", k=k) # copy other settings, ignoring deck order as there's a new default + qconf['newSpread'] = db.scalar( + "select newCardSpacing from decks") + qconf['newOrder'] = db.scalar( + "select newCardOrder from decks") keys = ("newCardOrder", "newCardSpacing") for k in keys: qconf[k] = db.scalar("select %s from decks" % k) @@ -387,9 +391,9 @@ insert or replace into deck select id, cast(created as int), :t, for k in keys: conf[k] = db.scalar("select %s from decks" % k) # random and due options merged - qconf['revCardOrder'] = min(2, qconf['revCardOrder']) + qconf['revOrder'] = 2 # no reverse option anymore - qconf['newCardOrder'] = min(1, qconf['newCardOrder']) + qconf['newOrder'] = min(1, qconf['newOrder']) # add any deck vars and save dkeys = ("hexCache", "cssCache") for (k, v) in db.execute("select * from deckVars").fetchall():