diff options
Diffstat (limited to 'formatting.py')
| -rw-r--r-- | formatting.py | 22 |
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 |
