diff --git a/rowers/integrations/c2.py b/rowers/integrations/c2.py index b2029beb..5d948167 100644 --- a/rowers/integrations/c2.py +++ b/rowers/integrations/c2.py @@ -327,7 +327,7 @@ class C2Integration(SyncIntegration): if not c2userid: # pragma: no cover raise NoTokenError("User has no token") - dologging('debuglog.log', + dologging('c2_log.log', 'Upload to C2 user {userid}'.format(userid=user.id)) data = self.createworkoutdata(workout) dologging('c2_log.log', json.dumps(data)) diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 2efd361f..7f8b80e9 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py index e101cb71..1df484ab 100644 --- a/rowers/views/importviews.py +++ b/rowers/views/importviews.py @@ -14,12 +14,27 @@ from rowers.utils import NoTokenError import numpy +importauthorizeviews = { + 'c2': 'rower_integration_authorize', + 'strava': 'rower_integration_authorize', + 'polar': 'rower_polar_authorize', + 'ownapi': 'workout_view', + 'sporttracks': 'rower_integration_authorize', + 'trainingpeaks': 'rower_integration_authorize', + 'nk': 'rower_integration_authorize', + 'rp3': 'rower_integration_authorize', + 'garmin': 'rower_garmin_authorize', +} + + + def default(o): # pragma: no cover if isinstance(o, numpy.int64): return int(o) raise TypeError +@login_required() def workout_export_view(request, id=0, source='c2'): r = getrower(request.user) w = get_workout_by_opaqueid(request, id) @@ -351,9 +366,13 @@ def workout_import_view(request, source='c2'): try: _ = integration.open() except NoTokenError: # pragma: no cover - return HttpResponseRedirect("/rowers/me/nkauthorize/") - - + try: + url = importauthorizeviews[source] + return HttpResponseRedirect(url) + except KeyError: + messages.error(request,'Sorry, an error occurred. Please reauthorize') + url = reverse('rower_export_settings_view') + return HttpResponseRedirect(url) if request.method == 'POST': # pragma: no cover @@ -963,19 +982,6 @@ def garmin_details_view(request): -importauthorizeviews = { - 'c2': 'rower_integration_authorize', - 'strava': 'rower_integration_authorize', - 'polar': 'rower_polar_authorize', - 'ownapi': 'workout_view', - 'sporttracks': 'rower_integration_authorize', - 'trainingpeaks': 'rower_integration_authorize', - 'nk': 'rower_integration_authorize', - 'rp3': 'rower_integration_authorize', - 'garmin': 'rower_garmin_authorize', -} - - @login_required() def workout_getimportview(request, externalid, source='c2', do_async=True): try: