mirror of
https://github.com/ankitects/anki.git
synced 2025-11-12 23:57:13 -05:00
add review time graph
This commit is contained in:
parent
8bb063c226
commit
86e3c19ad6
1 changed files with 25 additions and 1 deletions
|
|
@ -21,6 +21,7 @@ dueCumulC = "#ff8080"
|
||||||
reviewNewC = "#80b3ff"
|
reviewNewC = "#80b3ff"
|
||||||
reviewYoungC = "#5555ff"
|
reviewYoungC = "#5555ff"
|
||||||
reviewMatureC = "#0f5aff"
|
reviewMatureC = "#0f5aff"
|
||||||
|
reviewTimeC = "#0fcaff"
|
||||||
|
|
||||||
easesNewC = "#80b3ff"
|
easesNewC = "#80b3ff"
|
||||||
easesYoungC = "#5555ff"
|
easesYoungC = "#5555ff"
|
||||||
|
|
@ -104,14 +105,25 @@ select day,
|
||||||
reps-(newEase0+newEase1+newEase2+newEase3+newEase4) as combinedYoungReps,
|
reps-(newEase0+newEase1+newEase2+newEase3+newEase4) as combinedYoungReps,
|
||||||
reps as combinedNewReps
|
reps as combinedNewReps
|
||||||
from stats
|
from stats
|
||||||
|
where type = 1""")
|
||||||
|
|
||||||
|
dayTimes = self.deck.s.all("""
|
||||||
|
select day, reviewTime
|
||||||
|
from stats
|
||||||
where type = 1""")
|
where type = 1""")
|
||||||
|
|
||||||
todaydt = datetime.datetime(*list(time.localtime(time.time())[:3]))
|
todaydt = datetime.datetime(*list(time.localtime(time.time())[:3]))
|
||||||
for dest, source in [("dayRepsNew", "combinedNewReps"), ("dayRepsYoung", "combinedYoungReps"), ("dayRepsMature", "matureReps")]:
|
for dest, source in [("dayRepsNew", "combinedNewReps"),
|
||||||
|
("dayRepsYoung", "combinedYoungReps"),
|
||||||
|
("dayRepsMature", "matureReps")]:
|
||||||
self.stats[dest] = dict(
|
self.stats[dest] = dict(
|
||||||
map(lambda dr: (-(todaydt -datetime.datetime(
|
map(lambda dr: (-(todaydt -datetime.datetime(
|
||||||
*(int(x)for x in dr["day"].split("-")))).days, dr[source]), dayReps))
|
*(int(x)for x in dr["day"].split("-")))).days, dr[source]), dayReps))
|
||||||
|
|
||||||
|
self.stats['dayTimes'] = dict(
|
||||||
|
map(lambda dr: (-(todaydt -datetime.datetime(
|
||||||
|
*(int(x)for x in dr["day"].split("-")))).days, dr["reviewTime"]/60.0), dayTimes))
|
||||||
|
|
||||||
def nextDue(self, days=30):
|
def nextDue(self, days=30):
|
||||||
self.calcStats()
|
self.calcStats()
|
||||||
fig = Figure(figsize=(self.width, self.height), dpi=self.dpi)
|
fig = Figure(figsize=(self.width, self.height), dpi=self.dpi)
|
||||||
|
|
@ -168,6 +180,18 @@ where type = 1""")
|
||||||
|
|
||||||
return fig
|
return fig
|
||||||
|
|
||||||
|
def timeSpent(self, days=30):
|
||||||
|
self.calcStats()
|
||||||
|
fig = Figure(figsize=(self.width, self.height), dpi=self.dpi)
|
||||||
|
times = self.stats['dayTimes']
|
||||||
|
self.addMissing(times, -days, 0)
|
||||||
|
times = self.unzip(times.items())
|
||||||
|
graph = fig.add_subplot(111)
|
||||||
|
self.filledGraph(graph, days, reviewTimeC, *times)
|
||||||
|
graph.set_xlim(xmin=-days, xmax=0)
|
||||||
|
graph.set_ylim(ymax=max(a for a in times[1]) + 10)
|
||||||
|
return fig
|
||||||
|
|
||||||
def cumulativeDue(self, days=30):
|
def cumulativeDue(self, days=30):
|
||||||
self.calcStats()
|
self.calcStats()
|
||||||
fig = Figure(figsize=(self.width, self.height), dpi=self.dpi)
|
fig = Figure(figsize=(self.width, self.height), dpi=self.dpi)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue