diff --git a/rowers/tasks.py b/rowers/tasks.py index 2e1db4e7..b571261c 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -386,18 +386,13 @@ def email_all_user_workouts_zip(rower, start_date=None, end_date=None, debug=Fal for workout in workouts: try: rowdata = rdata(csvfile=workout.csvfilename) - rowdate = rowdata.rowdatetime - starttimeunix = arrow.get(rowdate).timestamp() - df = rowdata.df - - try: - df[' ElapsedTime (sec)'] = df['TimeStamp (sec)'] - df['TimeStamp (sec)'] = df['TimeStamp (sec)'] + starttimeunix - except KeyError: - pass - - csv_filename = f"workout_{workout.id}_{workout.date.strftime('%Y%m%d')}.csv" - zip_file.writestr(csv_filename, df.to_csv(index=False)) + workouttype = mytypes.fitmapping.get(workout.workouttype, 'generic') + + fit_filename = f"workout_{workout.id}_{workout.date.strftime('%Y%m%d')}.fit" + # exporttofit creates a file, we need to add it to the zip_file + rowdata.exporttofit(fit_filename, sport=workouttype, notes=workout.name) + zip_file.write(fit_filename, arcname=fit_filename) + os.remove(fit_filename) except Exception as e: # pragma: no cover dologging('export_all_workouts.log', f"Error exporting workout {workout.id}: {str(e)}") continue diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index eac06bee..c8bcbb3d 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ