Private
Public Access
1
0

next stage polar attempts

This commit is contained in:
Sander Roosendaal
2022-01-16 16:13:50 +01:00
parent 524e883f48
commit 596018044a
3 changed files with 35 additions and 7 deletions

View File

@@ -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}

View File

@@ -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:

BIN
rowers/tests/testdata/testdata.tcx.gz vendored Normal file

Binary file not shown.