From c76368509e478662fc312a95e32d642823d4ba85 Mon Sep 17 00:00:00 2001 From: Ross Scroggs Date: Tue, 24 Jan 2017 11:51:43 -0800 Subject: [PATCH] rint start_time and end_time as dates in gam reports; handle bad data from Google (#397) --- src/gam.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gam.py b/src/gam.py index a4d17d8e..008b6ee4 100755 --- a/src/gam.py +++ b/src/gam.py @@ -925,6 +925,8 @@ def showReport(): titles = [u'email', u'date'] csvRows = [] for user_report in usage: + if u'entity' not in user_report: + continue row = {u'email': user_report[u'entity'][u'userEmail'], u'date': try_date} try: for report_item in user_report[u'parameters']: @@ -998,6 +1000,12 @@ def showReport(): del activity[u'events'] activity_row = flatten_json(activity) for event in events: + for item in event.get(u'parameters', []): + if item[u'name'] in [u'start_time', u'end_time']: + val = item.get(u'intValue') + if val is not None: + item[u'dateTimeValue'] = datetime.datetime.fromtimestamp(int(val)-62135683200).isoformat() + item.pop(u'intValue') row = flatten_json(event) row.update(activity_row) for item in row: