From 98905037d127abf16bd11f327c3ff082ffe53171 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 9 Jan 2025 18:49:08 +0100 Subject: [PATCH 1/4] fix --- rowers/views/apiviews.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rowers/views/apiviews.py b/rowers/views/apiviews.py index 2d578685..d055c979 100644 --- a/rowers/views/apiviews.py +++ b/rowers/views/apiviews.py @@ -604,7 +604,8 @@ def strokedata_fit(request): distance=distance, name=title, date=startdate, - workouttype='water',) + ) +# workouttype='water',) uploadoptions = { 'secret': UPLOAD_SERVICE_SECRET, From 336e66106c8e489536b1b25204665caad349e1c5 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 9 Jan 2025 18:55:51 +0100 Subject: [PATCH 2/4] workouttype detection fit --- rowers/dataroutines.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rowers/dataroutines.py b/rowers/dataroutines.py index 851032e7..aa4e32ba 100644 --- a/rowers/dataroutines.py +++ b/rowers/dataroutines.py @@ -1426,13 +1426,17 @@ def get_workouttype_from_fit(filename, workouttype=None): if record.name in ['sport', 'lap','session']: try: fittype = record.get_values()['sport'].lower() + try: + workouttype = mytypes.fitmappinginv[fittype] + except KeyError: + workouttype = '' try: subsporttype = record.get_values()['sub_sport'].lower() except KeyError: subsporttype = '' except (KeyError, AttributeError): # pragma: no cover pass - if subsporttype: + if subsporttype and workouttype == '': try: workouttype = mytypes.fitmappinginv[subsporttype] except KeyError: @@ -1442,8 +1446,8 @@ def get_workouttype_from_fit(filename, workouttype=None): workouttype = mytypes.fitmappinginv[fittype] except KeyError: pass - if workouttype_orig in ['water', 'rower']: - workouttype = workouttype_orig + #if workouttype_orig in ['water', 'rower']: + # workouttype = workouttype_orig return workouttype From 6ef6b6e36c80ca520d11a16bf8fda5fde41ef1ab Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 13 Jan 2025 19:07:48 +0100 Subject: [PATCH 3/4] fixed an error --- rowers/dataroutines.py | 2 ++ rowers/tests/testdata/testdata.tcx.gz | Bin 3989 -> 3989 bytes 2 files changed, 2 insertions(+) diff --git a/rowers/dataroutines.py b/rowers/dataroutines.py index aa4e32ba..75b62a8b 100644 --- a/rowers/dataroutines.py +++ b/rowers/dataroutines.py @@ -1727,6 +1727,8 @@ def read_data(columns, ids=[], doclean=True, workstrokesonly=True, debug=False, pass except ColumnNotFoundError: pass + except ShapeError: + pass try: datadf = pl.concat(data) diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 4a3b747de7238e885296ce620e3e12645a716ba4..d865fa8bed106a375ec526f99734aaa3aaa1c7ff 100644 GIT binary patch delta 16 XcmbO#KUJPxzMF&NL2&Cv_C9_9D>wx= delta 16 XcmbO#KUJPxzMF$%Q%C(q_C9_9D;5Pf From a7ce59026a0d32715e135cae33ffa31c6c29af87 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 13 Jan 2025 20:07:33 +0100 Subject: [PATCH 4/4] fif --- rowers/integrations/intervals.py | 5 ++++- rowers/tests/testdata/testdata.tcx.gz | Bin 3989 -> 3989 bytes rowers/views/importviews.py | 8 +++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/rowers/integrations/intervals.py b/rowers/integrations/intervals.py index ae67709f..159f0559 100644 --- a/rowers/integrations/intervals.py +++ b/rowers/integrations/intervals.py @@ -227,6 +227,8 @@ class IntervalsIntegration(SyncIntegration): token = self.open() except NoTokenError: return [] + + type_filter = kwargs.get('type_filter', None) url = self.oauth_data['base_url'] + 'athlete/0/activities?' startdate = timezone.now() - timedelta(days=30) @@ -278,7 +280,8 @@ class IntervalsIntegration(SyncIntegration): values = [i, d, ttot, s, r, s2, c, nnn] ress = dict(zip(keys, values)) - workouts.append(ress) + if not type_filter or r in type_filter: + workouts.append(ress) except KeyError: dologging('intervals.icu.log', item) diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index d865fa8bed106a375ec526f99734aaa3aaa1c7ff..b5c20fb0e12702021679c69067f060b1915edf48 100644 GIT binary patch delta 15 WcmbO#KUJPhzMF$%PW(o;etrNW+5~w3 delta 15 WcmbO#KUJPhzMF&NLGVVletrNYHUzN% diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py index 995fc5cf..1d31f0ed 100644 --- a/rowers/views/importviews.py +++ b/rowers/views/importviews.py @@ -413,6 +413,11 @@ def workout_import_view(request, source='c2'): url = reverse('workouts_view') return HttpResponseRedirect(url) + if request.method == 'GET': + type_filter = request.GET.get('type', None) + else: + type_filter = None + try: _ = integration.open() except NoTokenError: # pragma: no cover @@ -463,7 +468,8 @@ def workout_import_view(request, source='c2'): before=before, after=after, startdate=startdate, - enddate=enddate + enddate=enddate, + type_filter=type_filter ) except NoTokenError: # pragma: no cover messages.error(request,"You must first make the connection to {source}".format(