summaryrefslogtreecommitdiff
path: root/formatting.py
diff options
context:
space:
mode:
Diffstat (limited to 'formatting.py')
-rw-r--r--formatting.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/formatting.py b/formatting.py
index a7c7ed7..5002ee9 100644
--- a/formatting.py
+++ b/formatting.py
@@ -22,3 +22,25 @@ def sess_to_log(session, filename):
if logmode == 'w':
writer.writeheader()
writer.writerow(session)
+
+def per_tag_per_day(file):
+ """returns list of dicts, each has date, tag and time spent per tag"""
+ reader = csv.DictReader(file)
+
+ rows = [] # need to make into list to transverse backwards
+ for row in reader:
+ rows.append(row)
+
+# list of dicts; each dict is tag: time_spent
+ day_times = []
+ cur = -1
+ for i in range(len(rows)):
+ date = rows[i]['date']
+ tag = rows[i]['tag']
+ if i > 0 and date == rows[i-1]['date']:
+ day_times[cur][tag] = day_times[cur].get(tag, 0) + int(rows[i]['elapsed'])
+ else:
+ cur += 1
+ day_times.append({"date": date, tag: int(rows[i]['elapsed'])})
+
+ return day_times