Private
Public Access
1
0

Merge branch 'bugfix/stravaexport' into develop

This commit is contained in:
Sander Roosendaal
2017-05-22 14:23:05 +02:00
4 changed files with 26 additions and 16 deletions

View File

@@ -104,8 +104,14 @@ def summaryfromsplitdata(splitdata,data,filename,sep='|'):
totaldist = data['distance'] totaldist = data['distance']
totaltime = data['time']/10. totaltime = data['time']/10.
spm = data['stroke_rate'] spm = data['stroke_rate']
try:
resttime = data['rest_time']/10. resttime = data['rest_time']/10.
except KeyError:
resttime = 0
try:
restdistance = data['rest_distance'] restdistance = data['rest_distance']
except keyError:
restdistance = 0
try: try:
avghr = data['heart_rate']['average'] avghr = data['heart_rate']['average']
except KeyError: except KeyError:

View File

@@ -315,7 +315,6 @@ def get_userid(access_token):
except KeyError: except KeyError:
res = '' res = ''
print res,'userID'
return str(res) return str(res)
def workout_runkeeper_upload(user,w): def workout_runkeeper_upload(user,w):

View File

@@ -257,11 +257,12 @@ def createstravaworkoutdata(w):
with gzip.GzipFile(gzfilename,'wb') as outF: with gzip.GzipFile(gzfilename,'wb') as outF:
outF.write(s) outF.write(s)
os.remove(tcxfilename) os.remove(tcxfilename)
return gzfilename return gzfilename,""
except: except:
message = str(sys.exc_info()[0])
tcxfilename = 0 tcxfilename = 0
return tcxfilename return tcxfilename,message
# Upload the TCX file to Strava and set the workout activity type # Upload the TCX file to Strava and set the workout activity type
# to rowing on Strava # to rowing on Strava
@@ -282,8 +283,8 @@ def handle_stravaexport(f2,workoutname,stravatoken,description=''):
if res: if res:
act = client.update_activity(res.id,activity_type='Rowing',description=description,device_name='Rowsandall.com') act = client.update_activity(res.id,activity_type='Rowing',description=description,device_name='Rowsandall.com')
else: else:
message = 'Strava upload timed out.' message = 'Strava activity update timed out.'
return (0,message) return (res.id,message)
return (res.id,message) return (res.id,message)
@@ -299,7 +300,7 @@ def workout_strava_upload(user,w):
else: else:
if (checkworkoutuser(user,w)): if (checkworkoutuser(user,w)):
try: try:
tcxfile = createstravaworkoutdata(w) tcxfile,tcxmesg = createstravaworkoutdata(w)
if tcxfile: if tcxfile:
with open(tcxfile,'rb') as f: with open(tcxfile,'rb') as f:
res,mes = handle_stravaexport(f,w.name, res,mes = handle_stravaexport(f,w.name,
@@ -326,7 +327,7 @@ def workout_strava_upload(user,w):
stravaid = res stravaid = res
return message,stravaid return message,stravaid
else: else:
message = "Strava Upload error" message = "Strava TCX data error "+tcxmesg
w.uploadedtostrava = -1 w.uploadedtostrava = -1
stravaid = -1 stravaid = -1
w.save() w.save()

View File

@@ -1060,9 +1060,9 @@ def workout_tcxemail_view(request,id=0):
raise Http404("Workout doesn't exist") raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)): if (checkworkoutuser(request.user,w)):
try: try:
tcxfile = stravastuff.createstravaworkoutdata(w) tcxfile,tcxmessg = stravastuff.createstravaworkoutdata(w)
if tcxfile == 0: if tcxfile == 0:
message = "Something went wrong (TCX export)" message = "Something went wrong (TCX export) "+tcxmessg
messages.error(request,message) messages.error(request,message)
url = reverse(workout_export_view, url = reverse(workout_export_view,
kwargs = { kwargs = {
@@ -1179,7 +1179,7 @@ def workout_csvtoadmin_view(request,id=0):
successmessage = "The CSV file was sent to the site admin per email" successmessage = "The CSV file was sent to the site admin per email"
messages.info(request,successmessage) messages.info(request,successmessage)
url = reverse(workout_export_view, url = reverse(workout_view,
kwargs = { kwargs = {
'id':str(w.id), 'id':str(w.id),
}) })
@@ -1263,7 +1263,7 @@ def workout_strava_upload_view(request,id=0):
raise Http404("Workout doesn't exist") raise Http404("Workout doesn't exist")
if (checkworkoutuser(request.user,w)): if (checkworkoutuser(request.user,w)):
try: try:
tcxfile = stravastuff.createstravaworkoutdata(w) tcxfile,tcxmessg = stravastuff.createstravaworkoutdata(w)
if tcxfile: if tcxfile:
with open(tcxfile,'rb') as f: with open(tcxfile,'rb') as f:
res,mes = stravastuff.handle_stravaexport(f,w.name, res,mes = stravastuff.handle_stravaexport(f,w.name,
@@ -1287,7 +1287,11 @@ def workout_strava_upload_view(request,id=0):
try: try:
w.uploadedtostrava = res w.uploadedtostrava = res
w.save() w.save()
try:
os.remove(tcxfile) os.remove(tcxfile)
except WindowsError:
print tcxfile
pass
url = "/rowers/workout/"+str(w.id)+"/edit" url = "/rowers/workout/"+str(w.id)+"/edit"
messages.info(request,mes) messages.info(request,mes)
@@ -1299,8 +1303,8 @@ def workout_strava_upload_view(request,id=0):
errorlog.write("views.py line 826\r\n") errorlog.write("views.py line 826\r\n")
message = 'Error: '+errorstring message = 'Error: '+errorstring
messages.error(request,message) messages.error(request,message)
else: else: # No tcxfile
message = "Strava Upload error" message = "Strava Data error "+tcxmessg
messages.error(request,message) messages.error(request,message)
w.uploadedtostrava = -1 w.uploadedtostrava = -1
w.save() w.save()