remove stats dependency in study options

This commit is contained in:
Damien Elmes 2011-02-18 17:46:32 +09:00
parent c41bd9d67f
commit 8201ffc544

View file

@ -1662,21 +1662,26 @@ not be touched.""") %
cardColour = '<font color=#0000ff>%s</font>' cardColour = '<font color=#0000ff>%s</font>'
# top label # top label
h = {} h = {}
s = self.deck.getStats() h['ret'] = cardColour % (self.deck.revCount+self.deck.failedSoonCount)
h['ret'] = cardColour % (s['rev']+s['failed']) h['new'] = cardColour % self.deck.newCountToday
h['new'] = cardColour % s['new']
h['newof'] = str(self.deck.newCountAll()) h['newof'] = str(self.deck.newCountAll())
dtoday = s['dTotal'] # counts & time for today
yesterday = self.deck._dailyStats.day - datetime.timedelta(1) todayStart = self.deck.failedCutoff - 86400
res = self.deck.s.first(""" sql = "select count(), sum(thinkingTime) from reviewHistory"
select reps, reviewTime from stats where type = 1 and (reps, time_) = self.deck.s.first(
day = :d""", d=yesterday) sql + " where time > :start", start=todayStart)
if res: h['timeToday'] = sessionColour % (
(dyest, tyest) = res anki.utils.fmtTimeSpan(time_ or 0, short=True, point=1))
else: h['repsToday'] = sessionColour % reps
dyest = 0; tyest = 0 # and yesterday
h['repsToday'] = sessionColour % dtoday yestStart = todayStart - 86400
h['repsTodayChg'] = str(dyest) (reps, time_) = self.deck.s.first(
sql + " where time > :start and time <= :end",
start=yestStart, end=todayStart)
h['timeTodayChg'] = str(
anki.utils.fmtTimeSpan(time_ or 0, short=True, point=1))
h['repsTodayChg'] = str(reps)
# session counts
limit = self.deck.sessionTimeLimit limit = self.deck.sessionTimeLimit
start = self.deck.sessionStartTime or time.time() - limit start = self.deck.sessionStartTime or time.time() - limit
start2 = self.deck.lastSessionStart or start - limit start2 = self.deck.lastSessionStart or start - limit
@ -1689,11 +1694,6 @@ day = :d""", d=yesterday)
t=start2, t2=start) t=start2, t2=start)
h['repsInSes'] = sessionColour % last10 h['repsInSes'] = sessionColour % last10
h['repsInSesChg'] = str(last20) h['repsInSesChg'] = str(last20)
ttoday = s['dReviewTime']
h['timeToday'] = sessionColour % (
anki.utils.fmtTimeSpan(ttoday, short=True, point=1))
h['timeTodayChg'] = str(anki.utils.fmtTimeSpan(
tyest, short=True, point=1))
h['cs_header'] = "<b>" + _("Cards/session:") + "</b>" h['cs_header'] = "<b>" + _("Cards/session:") + "</b>"
h['cd_header'] = "<b>" + _("Cards/day:") + "</b>" h['cd_header'] = "<b>" + _("Cards/day:") + "</b>"
h['td_header'] = "<b>" + _("Time/day:") + "</b>" h['td_header'] = "<b>" + _("Time/day:") + "</b>"
@ -1719,13 +1719,13 @@ day = :d""", d=yesterday)
<tr><td>%(ntod_header)s</td><td align=right><b>%(new)s</b></td></tr> <tr><td>%(ntod_header)s</td><td align=right><b>%(new)s</b></td></tr>
<tr><td>%(ntot_header)s</td><td align=right>%(newof)s</td></tr> <tr><td>%(ntot_header)s</td><td align=right>%(newof)s</td></tr>
</table>""") % h </table>""") % h
if (not dyest and not dtoday) or not self.config['showStudyStats']: # if (not dyest and not dtoday) or not self.config['showStudyStats']:
self.haveYesterday = False # self.haveYesterday = False
stats1 = "" # stats1 = ""
else: # else:
self.haveYesterday = True # self.haveYesterday = True
stats1 = ( # stats1 = (
"<td>%s</td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td>" % stats1) # "<td>%s</td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td>" % stats1)
self.mainWin.optionsLabel.setText("""\ self.mainWin.optionsLabel.setText("""\
<p><table><tr> <p><table><tr>
%s %s