diff --git a/rowers/tests/test_api.py b/rowers/tests/test_api.py index 32fc2af6..bf7d74e4 100644 --- a/rowers/tests/test_api.py +++ b/rowers/tests/test_api.py @@ -226,9 +226,10 @@ class OwnApi(TestCase): } form_data = { - "totalDistance": 100, - "elapsedTime": 29000, - "title": "Test Workout (GO)", + "distance": 2100, + "elapsedTime": 592, + "duration": "0:09:52", + "name": "Test Workout (GO)", "startdatetime": "2023-01-16 17:54:35.588838+00:00", "workouttype": "water", "boattype": "1x", diff --git a/rowers/views/apiviews.py b/rowers/views/apiviews.py index 88efe374..354b79d1 100644 --- a/rowers/views/apiviews.py +++ b/rowers/views/apiviews.py @@ -213,9 +213,10 @@ def strokedatajson_v3(request): GET: Get stroke data of workout This v2 API works on stroke based data dict: { - "totalDistance": 100, + "distance": 2100, "elapsedTime": 592, - "title": "Test Workout (GO)", + "duration": "0:09:52", + "name": "Test Workout (GO)", "startdatetime": "2023-01-16 17:54:35.588838+00:00", "workouttype": "water", "boattype": "1x", @@ -244,13 +245,21 @@ def strokedatajson_v3(request): dologging('apilog.log', request.user.username+" (strokedatajson_v3 POST)") - title = request.data.get('title','') + title = request.data.get('name','') try: elapsedTime = request.data['elapsedTime'] except KeyError: - return HttpResponse("Missing Elapsed Time", status=400) + try: + duration = request.data['duration'] + try: + t = datetime.strptime(duration,"%H:%M:%S.%d") + except ValueError: + t = datetime.strptime(duration,"%H:%M:%S") + elapsedTime = 3600*t.hour+60.*t.minute+t.second+t.microsecond/1.e6 + except: + return HttpResponse("Missing Elapsed Time", status=400) try: - totalDistance = request.data['totalDistance'] + totalDistance = request.data['distance'] except KeyError: return HttpResponse("Missing Total Distance", status=400) timeZone = request.data.get('timezone','UTC')