From 6b5904ecf7ddea0e989fbb41667239f276b4f194 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Tue, 4 Jul 2017 20:29:17 +0200
Subject: [PATCH] some bug fixes
---
rowers/datautils.py | 11 +++++++++++
rowers/templates/analysis.html | 1 +
rowers/utils.py | 8 ++++++--
rowers/views.py | 2 +-
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/rowers/datautils.py b/rowers/datautils.py
index 8cdde524..bdc5ac2f 100644
--- a/rowers/datautils.py
+++ b/rowers/datautils.py
@@ -164,6 +164,17 @@ def getcp(dfgrouped,logarr):
delta = pd.Series(delta,name='Delta')
cpvalue = pd.Series(cpvalue,name='CP')
+
+ cpdf = pd.DataFrame({
+ 'delta':delta,
+ 'cpvalue':cpvalue
+ })
+
+ cpdf.dropna(axis=0, how='any',inplace=True)
+
+ delta = cpdf['delta']
+ cpvalue = cpdf['cpvalue']
+
return delta,cpvalue,avgpower
def getmaxwattinterval(tt,ww,i):
diff --git a/rowers/templates/analysis.html b/rowers/templates/analysis.html
index 04fb8f1c..4eae9987 100644
--- a/rowers/templates/analysis.html
+++ b/rowers/templates/analysis.html
@@ -100,6 +100,7 @@
{% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %}
Multi Compare
{% else %}
+ Multi Compare
{% endif %}
diff --git a/rowers/utils.py b/rowers/utils.py
index 6e788b7c..526dd327 100644
--- a/rowers/utils.py
+++ b/rowers/utils.py
@@ -77,11 +77,14 @@ def geo_distance(lat1,lon1,lat2,lon2):
def isbreakthrough(delta,cpvalues,p0,p1,p2,p3,ratio):
- pwr = p0/(1+delta/p2)
- pwr += p1/(1+delta/p3)
+ pwr = abs(p0)/(1+(delta/abs(p2)))
+ pwr += abs(p1)/(1+(delta/abs(p3)))
pwr *= ratio
+ delta = delta.values
+ cpvalues = cpvalues.values
+
res = np.sum(cpvalues>pwr)
btdf = pd.DataFrame(
@@ -92,6 +95,7 @@ def isbreakthrough(delta,cpvalues,p0,p1,p2,p3,ratio):
}
)
+
btdf.sort_values('delta',axis=0,inplace=True)
diff --git a/rowers/views.py b/rowers/views.py
index e61d7822..61be6723 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -2926,7 +2926,7 @@ def otwrankings_view(request,theuser=0,
if len(thesecs) != 0:
- maxt = 2*pd.Series(thesecs).max()
+ maxt = 1.05*pd.Series(thesecs).max()
else:
maxt = 1000.