diff --git a/rowers/tasks.py b/rowers/tasks.py index 8ee8d0e2..ed400fb2 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -3114,6 +3114,13 @@ def handle_c2_async_workout(alldata,userid,c2token,c2id,delaysec,defaulttimezone splitdata = None distance = data['distance'] + try: + rest_distance = data['rest_distance'] + rest_time = data['rest_time']/10. + except KeyError: + rest_distance = 0 + rest_time = 0 + distance = distance+rest_distance c2id = data['id'] workouttype = data['type'] verified = data['verified'] diff --git a/rowers/tests/test_imports.py b/rowers/tests/test_imports.py index 4a9c5f7a..71ff008c 100644 --- a/rowers/tests/test_imports.py +++ b/rowers/tests/test_imports.py @@ -410,11 +410,13 @@ class C2Objects(DjangoTestCase): self.assertEqual(str(timezone),'America/Los_Angeles') got = arrow.get(startdatetime).isoformat() - want = arrow.get('2021-06-02 08:07:04.7-07:00').isoformat() + want = arrow.get('2021-06-02 07:51:14.600000-07:00').isoformat() self.assertEqual(got, want) self.assertEqual(workoutdate,'2021-06-02') + self.assertEqual(duration,'00:49:39.4') + def test_c2_import_54933639(self): with open('rowers/tests/testdata/c2_54933639.json','r') as infile: data = json.load(infile) diff --git a/rowers/utils.py b/rowers/utils.py index 583e9b51..e482a927 100644 --- a/rowers/utils.py +++ b/rowers/utils.py @@ -1265,6 +1265,12 @@ def get_startdatetime_from_c2data(data): startdatetime = iso8601.parse_date(data['date']) totaltime = data['time']/10. + try: + rest_time = data['rest_time']/10. + except KeyError: + rest_time = 0 + totaltime = totaltime+rest_time + duration = totaltime_sec_to_string(totaltime) starttimeunix = arrow.get(startdatetime).timestamp()-totaltime startdatetime = arrow.get(starttimeunix)