shorten some queue options

This commit is contained in:
Damien Elmes 2011-03-27 22:00:36 +09:00
parent 5914761ff8
commit 2d6e9cc186
3 changed files with 18 additions and 14 deletions

View file

@ -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)

View file

@ -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)

View file

@ -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():