From 7109f5aa88f1b5a285bb0b7474fdb3e9fff0a9e3 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 16 Oct 2020 18:07:02 +0200 Subject: [PATCH] fixes, test_aworkouts misbehaving --- requirements.txt | 1 + rowers/datautils.py | 8 +-- rowers/tests/test_analysis.py | 4 ++ rowers/tests/test_aworkouts.py | 91 ++++++++++++++++++---------------- 4 files changed, 58 insertions(+), 46 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8173de9e..ec986f8e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -170,6 +170,7 @@ pytest-django==3.4.8 pytest-forked==1.0.2 pytest-runner==4.4 pytest-sugar==0.9.2 +pytest-timeout==1.4.2 pytest-xdist==1.27.0 python-dateutil==2.8.0 python-memcached==1.59 diff --git a/rowers/datautils.py b/rowers/datautils.py index 554ea19e..08b7f5b5 100644 --- a/rowers/datautils.py +++ b/rowers/datautils.py @@ -60,7 +60,7 @@ def updatecp(delta,cpvalues,r,workouttype='water'): return 1 -def cpfit(powerdf): +def cpfit(powerdf,fraclimit=0.0001,nmax=1000): # Fit the data to thee parameter CP model fitfunc = lambda pars,x: abs(pars[0])/(1+(x/abs(pars[2]))) + abs(pars[1])/(1+(x/abs(pars[3]))) errfunc = lambda pars,x,y: fitfunc(pars,x)-y @@ -96,11 +96,13 @@ def cpfit(powerdf): frac = abs(ddmin)/fitpoints.mean() - while frac>0.0001: + counter = 0 + while frac>fraclimit and counter