From 596018044a9ed64f139fe64771008cb57abe61a1 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 16 Jan 2022 16:13:50 +0100 Subject: [PATCH] next stage polar attempts --- rowers/mytypes.py | 4 +-- rowers/polarstuff.py | 38 ++++++++++++++++++++++---- rowers/tests/testdata/testdata.tcx.gz | Bin 0 -> 4001 bytes 3 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 rowers/tests/testdata/testdata.tcx.gz diff --git a/rowers/mytypes.py b/rowers/mytypes.py index fc249da2..9542a48c 100644 --- a/rowers/mytypes.py +++ b/rowers/mytypes.py @@ -244,7 +244,7 @@ polarcollection = ( ('InlineSkate','Skating'), ('Kayaking','Kayaking'), ('Workout','Other Indoor'), - ('other','Other Indoor'), + ('other','Other'), ('Yoga','Yoga'), ) @@ -322,7 +322,7 @@ stravamappinginv = {value:key for key,value in Reverse(stravacollection) if valu stmappinginv = {value:key for key,value in Reverse(stcollection) if value is not None} -polarmappinginv = {value:key for key,value in Reverse(polarcollection) if value is not None} +polarmappinginv = {value.lower():key for key,value in Reverse(polarcollection) if value is not None} garminmappinginv = {value:key for key, value in Reverse(garmincollection) if value is not None} diff --git a/rowers/polarstuff.py b/rowers/polarstuff.py index 7cc7f1ee..937d59ca 100644 --- a/rowers/polarstuff.py +++ b/rowers/polarstuff.py @@ -50,6 +50,7 @@ from rowers.tasks import handle_request_post import rowers.dataprep as dataprep from rowers.dataprep import columndict + from io import StringIO import stravalib @@ -230,6 +231,7 @@ def get_polar_workouts(user): exercise_dict = response.json() tcxuri = exerciseurl+'/tcx' response = requests.get(tcxuri,headers=headers2) + if response.status_code == 200: filename = 'media/mailbox_attachments/{code}_{id}.tcx'.format( id = exercise_dict['id'], @@ -240,28 +242,54 @@ def get_polar_workouts(user): with open(filename,'wb') as fop: fop.write(response.content) + workouttype = 'water' + try: + workouttype = mytypes.polarmappinginv[exercise_dict['detailed-sport-info'].lower()] + except KeyError: + try: + workouttype = mytypes.polarmappinginv[exercise_dict['sport'].lower()] + except KeyError: + pass + + # post file to upload api # TODO: add workouttype uploadoptions = { 'title':'', - 'workouttype':'', + 'workouttype':workouttype, + 'boattype':'1x', 'user':user.id, 'secret':settings.UPLOAD_SERVICE_SECRET, 'file':filename, 'title': '', } - session = requests.session() - newHeaders = {'Content-type': 'application/json', 'Accept': 'text/plain'} - session.headers.update(newHeaders) + #session = requests.session() + #newHeaders = {'Content-type': 'application/json', 'Accept': 'text/plain'} + #session.headers.update(newHeaders) url = settings.UPLOAD_SERVICE_URL dologging('polar.log',uploadoptions) dologging('polar.log',url) - response = session.post(url,json=uploadoptions) + #response = session.post(url,json=uploadoptions) + job = myqueue( + queuehigh, + handle_request_post, + url, + uploadoptions + ) dologging('polar.log',response.status_code) + if response.status_code != 200: + try: + dologging('polar.log',response.text) + except: + pass + try: + dologging('polar.log', response.json()) + except: + pass exercise_dict['filename'] = filename else: diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz new file mode 100644 index 0000000000000000000000000000000000000000..1efcef5c6783d794319224b1abee26d2b920681b GIT binary patch literal 4001 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 H#DD<+NdOmo literal 0 HcmV?d00001