doing trainingpeaks, untested
This commit is contained in:
@@ -23,12 +23,15 @@ def default(o): # pragma: no cover
|
||||
# Send workout to TP
|
||||
@permission_required('workout.change_workout', fn=get_workout_by_opaqueid, raise_exception=True)
|
||||
def workout_tp_upload_view(request, id=0):
|
||||
|
||||
|
||||
message = ""
|
||||
r = getrower(request.user)
|
||||
res = -1
|
||||
|
||||
tp_integration = TPIntegration(request.user)
|
||||
|
||||
try:
|
||||
_ = tp_open(r.user)
|
||||
_ = tp_integration.open()
|
||||
except NoTokenError: # pragma: no cover
|
||||
return HttpResponseRedirect("/rowers/me/tpauthorize/")
|
||||
|
||||
@@ -36,38 +39,9 @@ def workout_tp_upload_view(request, id=0):
|
||||
w = get_workout_by_opaqueid(request, id)
|
||||
r = w.user
|
||||
|
||||
tcxfile = tpstuff.createtpworkoutdata(w)
|
||||
if tcxfile:
|
||||
res, reason, status_code, headers = tpstuff.uploadactivity(
|
||||
r.tptoken, tcxfile,
|
||||
name=w.name
|
||||
)
|
||||
if res == 0: # pragma: no cover
|
||||
message = "Upload to TrainingPeaks failed with status code " + \
|
||||
str(status_code)+": "+reason
|
||||
try:
|
||||
os.remove(tcxfile)
|
||||
except WindowsError:
|
||||
pass
|
||||
jobid = tp_integration.workout_export(w)
|
||||
messages.info(request,'Your workout will be exported to TrainingPeaks in the background')
|
||||
|
||||
messages.error(request, message)
|
||||
|
||||
else: # res != 0
|
||||
w.uploadedtotp = res
|
||||
w.save()
|
||||
os.remove(tcxfile)
|
||||
job = myqueue(queuelow,
|
||||
check_tp_workout_id,
|
||||
w,
|
||||
headers['Location'])
|
||||
|
||||
messages.info(request, 'Uploaded to TrainingPeaks')
|
||||
|
||||
else: # pragma: no cover # no tcxfile
|
||||
message = "Upload to TrainingPeaks failed"
|
||||
w.uploadedtotp = -1
|
||||
w.save()
|
||||
messages.error(request, message)
|
||||
|
||||
url = reverse(r.defaultlandingpage,
|
||||
kwargs={
|
||||
@@ -301,20 +275,8 @@ def rower_c2_token_refresh(request):
|
||||
@login_required()
|
||||
def rower_tp_token_refresh(request):
|
||||
r = getrower(request.user)
|
||||
res = tpstuff.do_refresh_token(
|
||||
r.tprefreshtoken,
|
||||
)
|
||||
access_token = res[0]
|
||||
expires_in = res[1]
|
||||
refresh_token = res[2]
|
||||
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
|
||||
|
||||
r = getrower(request.user)
|
||||
r.tptoken = access_token
|
||||
r.tptokenexpirydate = expirydatetime
|
||||
r.tprefreshtoken = refresh_token
|
||||
|
||||
r.save()
|
||||
tp_integration = TPIntegration(request.user)
|
||||
token = tp_integration.token_refresh()
|
||||
|
||||
successmessage = "Tokens refreshed. Good to go"
|
||||
messages.info(request, successmessage)
|
||||
@@ -759,11 +721,8 @@ def rower_process_tpcallback(request):
|
||||
url = reverse('rower_exportsettings_view')
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
res = tpstuff.get_token(code)
|
||||
|
||||
access_token = res[0]
|
||||
expires_in = res[1]
|
||||
refresh_token = res[2]
|
||||
tp_integration = TPIntegration(request.user)
|
||||
access_token, expires_in, refresh_token = tp_integration.get_token(code)
|
||||
expirydatetime = timezone.now()+datetime.timedelta(seconds=expires_in)
|
||||
|
||||
r = getrower(request.user)
|
||||
@@ -1560,7 +1519,7 @@ importsources = {
|
||||
'polar': polarstuff,
|
||||
'ownapi': ownapistuff,
|
||||
'sporttracks': SportTracksIntegration,
|
||||
'trainingpeaks': tpstuff,
|
||||
'trainingpeaks': TPIntegration,
|
||||
'nk': NKIntegration,
|
||||
'rp3':RP3Integration,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user