From efa9ca442f3b28d3f89aaf4d5adb819e92cd181e Mon Sep 17 00:00:00 2001 From: Max Timkovich Date: Sun, 14 Mar 2021 18:00:38 -0600 Subject: [PATCH 1/3] create script to get heart rate data from the past 15 minutes --- heartrate.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 heartrate.py diff --git a/heartrate.py b/heartrate.py new file mode 100755 index 0000000..476e34c --- /dev/null +++ b/heartrate.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +import time + +from config import * +from gather_keys_oauth2 import OAuth2Server + +if __name__ == '__main__': + server = OAuth2Server(client_id, client_secret) + server.browser_authorize() + + fb = server.fitbit + detail_level = '1min' + intraday = f'https://api.fitbit.com/1/user/-/activities/heart/date/today/1d/{detail_level}.json' + + while True: + resp = fb.make_request(intraday) + # latest = resp['activities-heart-intraday']['dataset'][-1]['value'] + latest = resp['activities-heart-intraday']['dataset'][-1] + print(latest) + with open('maxs-hr.txt', 'w') as f: + f.write(f"{latest['value']}\n") + + time.sleep(60) From 6a1f59d34f2344f817b35188210e9d023bf37b7b Mon Sep 17 00:00:00 2001 From: Max Timkovich Date: Sun, 14 Mar 2021 18:02:06 -0600 Subject: [PATCH 2/3] create script to get heart rate data from the past 15 minutes --- .gitignore | 3 +++ heartrate.py | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 8dff601..dcd91ea 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,6 @@ htmlcov # Editors .idea + +config.py +*.txt diff --git a/heartrate.py b/heartrate.py index 476e34c..d12ee73 100755 --- a/heartrate.py +++ b/heartrate.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +"""Script for fetching my min and max heart rate over the past 15 minutes.""" import time from config import * @@ -14,10 +15,11 @@ while True: resp = fb.make_request(intraday) - # latest = resp['activities-heart-intraday']['dataset'][-1]['value'] - latest = resp['activities-heart-intraday']['dataset'][-1] - print(latest) + dataset = resp['activities-heart-intraday']['dataset'] + # Get only data from the last 15 minutes. + latest = [d['value'] for d in dataset[-16:]] + with open('maxs-hr.txt', 'w') as f: - f.write(f"{latest['value']}\n") + f.write('{}–{}'.format(min(latest), max(latest))) time.sleep(60) From d6b11b31a716e2fcf4617cf31e0fb5b1da2b86e3 Mon Sep 17 00:00:00 2001 From: Max Timkovich Date: Sun, 14 Mar 2021 20:25:41 -0600 Subject: [PATCH 3/3] kill the server harder --- gather_keys_oauth2.py | 1 + heartrate.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gather_keys_oauth2.py b/gather_keys_oauth2.py index 39a19f8..bf54c45 100755 --- a/gather_keys_oauth2.py +++ b/gather_keys_oauth2.py @@ -78,6 +78,7 @@ def _shutdown_cherrypy(self): """ Shutdown cherrypy in one second, if it's running """ if cherrypy.engine.state == cherrypy.engine.states.STARTED: threading.Timer(1, cherrypy.engine.exit).start() + cherrypy.engine.exit() if __name__ == '__main__': diff --git a/heartrate.py b/heartrate.py index d12ee73..b4bc136 100755 --- a/heartrate.py +++ b/heartrate.py @@ -20,6 +20,8 @@ latest = [d['value'] for d in dataset[-16:]] with open('maxs-hr.txt', 'w') as f: - f.write('{}–{}'.format(min(latest), max(latest))) + output = '{}–{}'.format(min(latest), max(latest)) + print(output) + f.write(output) time.sleep(60)