From 913125263042a8cd6b57522e03bfd73be07a534b Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sun, 9 Feb 2025 10:11:52 +0100 Subject: [PATCH] fixing cr --- rowers/dataprep.py | 14 +++++++++++--- rowers/tests/testdata/testdata.tcx.gz | Bin 3989 -> 3989 bytes rowers/views/analysisviews.py | 6 ++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index cf2896e2..1bed7187 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -557,6 +557,7 @@ def setcp(workout, background=False, recurrance=True): return(df, df['delta'], df['cp'], df['cr']) except KeyError: return(df, df['delta'], df['cp'], 0*df['cp']) + except Exception as e: try: os.remove(filename) @@ -772,10 +773,16 @@ def join_workouts(r, ids, title='Joined Workout', -def fetchcp_new(rower, workouts): +def fetchcp_new(rower, workouts, spm=False): data = [] + cpcol = 'cp' + cpmin = 20 + if spm: + cpcol = 'cr' + cpmin = 5 + for workout in workouts: df, delta, cpvalues, cpvalues_spm = setcp(workout) df = df.drop('id') @@ -784,6 +791,7 @@ def fetchcp_new(rower, workouts): if not df.is_empty(): data.append(df) + if len(data) == 0: return pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), 0, pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64) if len(data) > 1: @@ -793,12 +801,12 @@ def fetchcp_new(rower, workouts): try: #df = df.group_by(pl.col("delta")).agg(pl.max("cp"), pl.max("workout"), pl.max("url")).sort("delta") df = df.groupby('delta').agg([ - pl.all().sort_by('cp').last(), + pl.all().sort_by(cpcol).last(), ]) except (KeyError, ColumnNotFoundError): # pragma: no cover return pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), 0, pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64) - df = df.filter(pl.col("cp")>20) + df = df.filter(pl.col(cpcol)>cpmin) try: testje = df['cr'] diff --git a/rowers/tests/testdata/testdata.tcx.gz b/rowers/tests/testdata/testdata.tcx.gz index 27e4f1f53fc54e99f4adb68f97b07a865d2f6ab7..27bcbfd967237fbf7f7a2718aed9e97983810d9e 100644 GIT binary patch delta 16 XcmbO#KUJPxzMF%CDP#FY_C9_9CQby9 delta 16 XcmbO#KUJPxzMF$%&(g&k+57kbEWQPU diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py index cab4ef79..acd13734 100644 --- a/rowers/views/analysisviews.py +++ b/rowers/views/analysisviews.py @@ -821,10 +821,9 @@ def crdata(workouts, options): u = User.objects.get(id=userid) r = u.rower - - + delta, cpvalue, crvalue, avgpower, workoutnames, urls = dataprep.fetchcp_new( - r, workouts) + r, workouts, spm=True) powerdf = pl.DataFrame({ 'Delta': delta, @@ -1183,7 +1182,6 @@ def analysis_view_data(request, userid=0): pass - if function == 'boxplot': script, div = boxplotdata(workouts, options) elif function == 'trendflex': # pragma: no cover