diff --git a/rowers/uploads.py b/rowers/uploads.py index 7f94106d..258a4d51 100644 --- a/rowers/uploads.py +++ b/rowers/uploads.py @@ -508,87 +508,73 @@ def make_private(w,options): return 1 def do_sync(w,options): + try: + upload_to_strava = options['upload_to_Strava'] + except KeyError: + upload_to_strava = False + try: if options['stravaid'] != 0 and options['stravaid'] != '': w.uploadedtostrava = options['stravaid'] - options['upload_to_Strava'] = False + upload_to_strava = False w.save() except KeyError: pass - if ('upload_to_C2' in options and options['upload_to_C2']) or (w.user.c2_auto_export and ispromember(w.user)): - if ('upload_to_C2' in options and not options['upload_to_C2']): - pass - else: - try: - message,id = c2stuff.workout_c2_upload(w.user.user,w) - except NoTokenError: - id = 0 - message = "Something went wrong with the Concept2 sync" - if ('upload_to_Strava' in options and options['upload_to_Strava']) or (w.user.strava_auto_export and ispromember(w.user)): - if ('upload_to_Strava' in options and not options['upload_to_Strava']): - pass - else: - try: - message,id = stravastuff.workout_strava_upload( + if ('upload_to_C2' in options and options['upload_to_C2']) or (w.user.c2_auto_export and ispromember(w.user.user)): + try: + message,id = c2stuff.workout_c2_upload(w.user.user,w) + except NoTokenError: + id = 0 + message = "Something went wrong with the Concept2 sync" + + if ('upload_to_Strava' in options and upload_to_strava) or (w.user.strava_auto_export and ispromember(w.user.user)): + try: + message,id = stravastuff.workout_strava_upload( + w.user.user,w + ) + except NoTokenError: + id = 0 + message = "Please connect to Strava first" + + + if ('upload_to_SportTracks' in options and options['upload_to_SportTracks']) or (w.user.sporttracks_auto_export and ispromember(w.user.user)): + try: + message,id = sporttracksstuff.workout_sporttracks_upload( w.user.user,w - ) - except NoTokenError: - id = 0 - message = "Please connect to Strava first" + ) + except NoTokenError: + message = "Please connect to SportTracks first" + id = 0 - if ('upload_to_SportTracks' in options and options['upload_to_SportTracks']) or (w.user.sporttracks_auto_export and ispromember(w.user)): - if ('upload_to_SportTracks' in options and not options['upload_to_SportTracks']): - pass - else: + if ('upload_to_RunKeeper' in options and options['upload_to_RunKeeper']) or (w.user.runkeeper_auto_export and ispromember(w.user.user)): + try: + message,id = runkeeperstuff.workout_runkeeper_upload( + w.user.user,w + ) + except NoTokenError: + message = "Please connect to Runkeeper first" + id = 0 - try: - message,id = sporttracksstuff.workout_sporttracks_upload( - w.user.user,w - ) - except NoTokenError: - message = "Please connect to SportTracks first" - id = 0 + if ('upload_to_MapMyFitness' in options and options['upload_to_MapMyFitness']) or (w.user.mapmyfitness_auto_export and ispromember(w.user.user)): + try: + message,id = underarmourstuff.workout_ua_upload( + w.user.user,w + ) + except NoTokenError: + message = "Please connect to MapMyFitness first" + id = 0 - if ('upload_to_RunKeeper' in options and options['upload_to_RunKeeper']) or (w.user.runkeeper_auto_export and ispromember(w.user)): - if ('upload_to_RunKeeper' in options and not options['upload_to_RunKeeper']): - pass - else: - - try: - message,id = runkeeperstuff.workout_runkeeper_upload( - w.user.user,w - ) - except NoTokenError: - message = "Please connect to Runkeeper first" - id = 0 - - if ('upload_to_MapMyFitness' in options and options['upload_to_MapMyFitness']) or (w.user.mapmyfitness_auto_export and ispromember(w.user)): - if ('upload_to_MapMyFitness' in options and not options['upload_to_MapMyFitness']): - pass - else: - try: - message,id = underarmourstuff.workout_ua_upload( - w.user.user,w - ) - except NoTokenError: - message = "Please connect to MapMyFitness first" - id = 0 - - - if ('upload_to_TrainingPeaks' in options and options['upload_to_TrainingPeaks']) or (w.user.trainingpeaks_auto_export and ispromember(w.user)): - if ('upload_to_TrainingPeaks' in options and not options['upload_to_TrainingPeaks']): - pass - else: - try: - message,id = tpstuff.workout_tp_upload( - w.user.user,w - ) - except NoTokenError: - message = "Please connect to TrainingPeaks first" - id = 0 + if ('upload_to_TrainingPeaks' in options and options['upload_to_TrainingPeaks']) or (w.user.trainingpeaks_auto_export and ispromember(w.user.user)): + try: + message,id = tpstuff.workout_tp_upload( + w.user.user,w + ) + except NoTokenError: + message = "Please connect to TrainingPeaks first" + id = 0 return 1 diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 38c6d90a..861320de 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import hashlib from shutil import copyfile - +from six import iterlists from rowers.views.statements import * import rowers.teams as teams import rowers.mytypes as mytypes @@ -4405,7 +4405,8 @@ def workout_upload_api(request): secret = json_data['secret'] post_data = json_data except (KeyError,JSONDecodeError): - post_data = request.POST + q = request.POST + post_data = {k: q.getlist(k) if len(q.getlist(k))>1 else v for k, v in q.items()} # only allow local host hostt = request.get_host().split(':')