diff --git a/rowers/tasks.py b/rowers/tasks.py index f54550d6..25f2a03d 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -796,7 +796,9 @@ def handle_strava_sync(stravatoken, if 'LatLon' in tb: dologging('strava_fail.log', 'Trying temporary fix') failed = False - except (ActivityUploadFailed, stravalib.exc.RateLimitExceeded, JSONDecodeError): # pragma: no cover + except ( + ActivityUploadFailed, stravalib.exc.RateLimitExceeded, JSONDecodeError + ): # pragma: no cover dologging( 'strava_fail.log', 'Strava upload failed for Workout {id}'.format(id=workoutid)) tb = traceback.format_exc() diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 169642f1..8366df1a 100644 Binary files a/rowers/tests/testdata/testdata.tcx.gz and b/rowers/tests/testdata/testdata.tcx.gz differ diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py index f8f21150..cf41c4a3 100644 --- a/rowers/views/analysisviews.py +++ b/rowers/views/analysisviews.py @@ -2809,7 +2809,10 @@ def history_view_data(request, userid=0): ddf = dataprep.clean_df_stats(ddf, workstrokesonly=False, ignoreadvanced=True) - ddict['hrmean'] = int(wavg(ddf, 'hr', 'deltat')) + try: + ddict['hrmean'] = int(wavg(ddf, 'hr', 'deltat')) + except (KeyError, ValueError, AttributeError): # pragma: no cover + ddict['hrmean'] = 0 try: ddict['hrmax'] = ddf['hr'].max().astype(int) except (KeyError, ValueError, AttributeError): # pragma: no cover