From 3c686726780760074f7eae837592bf1dbe3e4aeb Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sat, 25 Jan 2025 14:56:37 +0100 Subject: [PATCH] fixes fixes --- rowers/forms.py | 5 +++-- rowers/integrations/trainingpeaks.py | 6 +++++- rowers/tests/testdata/testdata.tcx.gz | Bin 3989 -> 3989 bytes rowers/uploads.py | 9 +++++---- rowers/views/otherviews.py | 1 - rowers/views/workoutviews.py | 9 +++++++-- 6 files changed, 20 insertions(+), 10 deletions(-) diff --git a/rowers/forms.py b/rowers/forms.py index 2db9b8bf..face5583 100644 --- a/rowers/forms.py +++ b/rowers/forms.py @@ -1232,10 +1232,11 @@ bulkactions = ( ('unset commute','unset commute'), ) destinations = ( - ('c2','c2'), + ('c2','concept2'), ('strava','strava'), ('sporttracks','sporttracks'), - ('trainingpeaks','trainingpeaks') + ('trainingpeaks','trainingpeaks'), + ('intervals','intervals.icu') ) class WorkoutBulkActions(forms.Form): diff --git a/rowers/integrations/trainingpeaks.py b/rowers/integrations/trainingpeaks.py index cd3b6bb4..e56095c7 100644 --- a/rowers/integrations/trainingpeaks.py +++ b/rowers/integrations/trainingpeaks.py @@ -79,13 +79,17 @@ class TPIntegration(SyncIntegration): def workout_export(self, workout, *args, **kwargs) -> str: thetoken = self.open() tcxfilename = self.createworkoutdata(workout) + try: + wtype = tpmapping[workout.workouttype] + except KeyError: + wtype = 'rowing' job = myqueue( queue, handle_workout_tp_upload, workout, thetoken, tcxfilename, - tpmapping[workout.workouttype] + wtype ) return job.id diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 415ce353fe916f370478946207c46bf181052e89..8c06d57a103c30792fa538ffe0fe9c1a591b7590 100644 GIT binary patch delta 16 XcmbO#KUJPxzMF$%;_WFL+57kbEQ$qx delta 16 XcmbO#KUJPxzMF&Njm*T2?0x(IDt-kR diff --git a/rowers/uploads.py b/rowers/uploads.py index 48f54ede..06273c63 100644 --- a/rowers/uploads.py +++ b/rowers/uploads.py @@ -130,6 +130,9 @@ def make_plot(r, w, f1, f2, plottype, title, imagename='', plotnr=0): def do_sync(w, options, quick=False): + if w.duplicate: + return 0 + do_strava_export = False if w.user.strava_auto_export is True: do_strava_export = True @@ -236,8 +239,6 @@ def do_sync(w, options, quick=False): except KeyError: pass - if w.duplicate: - return 0 if do_c2_export: # pragma: no cover dologging('c2_log.log','Exporting workout to C2 for user {user}'.format(user=w.user.user.id)) @@ -305,7 +306,6 @@ def do_sync(w, options, quick=False): except NoTokenError: dologging('st_export.log','No Token Error') - return 0 do_tp_export = w.user.trainingpeaks_auto_export try: @@ -315,6 +315,8 @@ def do_sync(w, options, quick=False): do_tp_export = upload_to_tp except KeyError: upload_to_st = False + + if do_tp_export: try: tp_integration = TPIntegration(w.user.user) @@ -327,7 +329,6 @@ def do_sync(w, options, quick=False): ) except NoTokenError: dologging('tp_export.log','No Token Error') - return 0 # we do Strava last. if do_strava_export: # pragma: no cover diff --git a/rowers/views/otherviews.py b/rowers/views/otherviews.py index bd59a9bf..3fef3dd5 100644 --- a/rowers/views/otherviews.py +++ b/rowers/views/otherviews.py @@ -50,7 +50,6 @@ def download_fit(request, filename=''): try: response = HttpResponse(fitfile) except FileNotFoundError: - print(fitfile, "not found") raise Http404("File not found") response['Content-Disposition'] = 'attachment; filename="%s"' % filename # pragma: no cover diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 31864c0d..b8dd6c72 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -2044,6 +2044,12 @@ def workouts_bulk_actions(request): workoutids = request.session.get('ids',[]) workouts = [] exportchoice = 'strava' + + # exportchoice = ExportChoices() + actionform = WorkoutBulkActions() + actionform.fields["action"].initial = action + assignchoices = AssignChoices() + try: for encid in workoutids: w = get_workout_by_opaqueid(request, encid) @@ -2286,8 +2292,7 @@ def workouts_view(request, message='', successmessage='', (Q(name__icontains=q) for q in query_list)) | reduce(operator.and_, (Q(notes__icontains=q) for q in query_list)), - exclude_strava=False, - ) + ).exclude(workoutsource='strava') searchform = SearchForm(initial={'q': query}) else: searchform = SearchForm()