diff --git a/rowers/integrations/intervals.py b/rowers/integrations/intervals.py index 92a3beb1..97eb554f 100644 --- a/rowers/integrations/intervals.py +++ b/rowers/integrations/intervals.py @@ -377,6 +377,7 @@ class IntervalsIntegration(SyncIntegration): if not force_download and id in known_interval_ids: return self.update_workout(id) + record = create_or_update_syncrecord(r, None, intervalsid=id) if do_async: @@ -728,7 +729,12 @@ class IntervalsIntegration(SyncIntegration): try: id = record['id'] - result = self.get_workout(id, do_async=False) + external_id = record['external_id'] + try: + w = Workout.objects.get(id=encoder.decode_hex(external_id)) + result = self.update_workout(id) + except Workout.DoesNotExist: + result = self.get_workout(id, do_async=False) except KeyError: pass diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 98b3260d..2d0c750c 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ