diff --git a/rowers/dataroutines.py b/rowers/dataroutines.py index 9360b1b7..17579249 100644 --- a/rowers/dataroutines.py +++ b/rowers/dataroutines.py @@ -1289,10 +1289,10 @@ def parsenonpainsled(fileformat, f2, summary, startdatetime='', empowerfirmware= # handle FIT if (fileformat == 'fit'): # pragma: no cover try: - s = fitsummarydata(f2) + s = FitSummaryData(f2) s.setsummary() summary = s.summarytext - except: + except Exception as e: pass hasrecognized = True diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 3355de97..e4b28276 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ diff --git a/rowers/views/apiviews.py b/rowers/views/apiviews.py index 143c2061..643e0316 100644 --- a/rowers/views/apiviews.py +++ b/rowers/views/apiviews.py @@ -582,12 +582,26 @@ def strokedata_fit(request): row = FP(fit_filename) rowdata = rowingdata(df=row.df) - duration = totaltime_sec_to_string(rowdata.duration) - title = "ActiveSpeed water" + + duration = totaltime_sec_to_string(rowdata.duration) + distance = rowdata.df[" Horizontal (meters)"].iloc[-1] + title = "" + try: + startdatetime = rowdata.rowdatetime + startdate = startdatetime.date() + partofday = part_of_day(startdatetime.hour) + title = '{partofday} water'.format(partofday=partofday) + except Exception as e: + dologging('apilog.log','FIT error to get time') + dologging('apilog.log',e) + _ = myqueue(queuehigh, handle_sendemail_unrecognized, fit_filename, "fit parser") w = Workout.objects.create(user=request.user.rower, duration=duration, - name=title,) + distance=distance, + name=title, + date=startdate, + workouttype='water',) uploadoptions = { 'secret': UPLOAD_SERVICE_SECRET, @@ -598,7 +612,7 @@ def strokedata_fit(request): 'title': title, 'rpe': 0, 'notes': '', - 'workoutid': w.id, + 'id': w.id, 'offline': False, }