From 6b5904ecf7ddea0e989fbb41667239f276b4f194 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Tue, 4 Jul 2017 20:29:17 +0200
Subject: [PATCH 1/2] 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.
From c75a16922957753f8657e9c45529077a35e693d6 Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Tue, 4 Jul 2017 22:26:44 +0200
Subject: [PATCH 2/2] finding source of unnecessary notifications
---
rowers/dataprep.py | 22 +++++++++++++++-------
rowers/dataprepnodjango.py | 23 +----------------------
rowers/datautils.py | 4 ++++
rowers/interactiveplots.py | 2 +-
rowers/tasks.py | 16 +++++++++++++++-
rowers/views.py | 6 +++---
rowsanda_107501 | Bin 1951744 -> 2888704 bytes
7 files changed, 39 insertions(+), 34 deletions(-)
diff --git a/rowers/dataprep.py b/rowers/dataprep.py
index a68e288e..3b807d55 100644
--- a/rowers/dataprep.py
+++ b/rowers/dataprep.py
@@ -425,13 +425,6 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
powerperc=powerperc,powerzones=r.powerzones)
row = rdata(f2,rower=rr)
- isbreakthrough = False
- if workouttype == 'water':
- delta,cpvalues,avgpower = datautils.getsinglecp(row.df)
- res,btvalues = utils.isbreakthrough(delta,cpvalues,r.p0,r.p1,r.p2,r.p3,r.cpratio)
- if res:
- isbreakthrough = True
- res = datautils.updatecp(delta,cpvalues,r)
dtavg = row.df['TimeStamp (sec)'].diff().mean()
@@ -590,6 +583,21 @@ def save_workout_database(f2,r,dosmooth=True,workouttype='rower',
w.save()
+ isbreakthrough = False
+ if workouttype == 'water':
+ df = getsmallrowdata_db(['power','workoutid','time'],ids=[w.id])
+ # delta,cpvalues,avgpower = datautils.getsinglecp(row.df)
+ thesecs = totaltime
+ maxt = 1.05*thesecs
+ logarr = datautils.getlogarr(maxt)
+ dfgrouped = df.groupby(['workoutid'])
+ delta,cpvalues,avgpower = datautils.getcp(dfgrouped,logarr)
+
+ res,btvalues = utils.isbreakthrough(delta,cpvalues,r.p0,r.p1,r.p2,r.p3,r.cpratio)
+ if res:
+ isbreakthrough = True
+ res = datautils.updatecp(delta,cpvalues,r)
+
# submit email task to send email about breakthrough workout
if isbreakthrough:
a_messages.info(r.user,'It looks like you have a new breakthrough workout')
diff --git a/rowers/dataprepnodjango.py b/rowers/dataprepnodjango.py
index 78d3903b..27cb5db7 100644
--- a/rowers/dataprepnodjango.py
+++ b/rowers/dataprepnodjango.py
@@ -463,35 +463,14 @@ def testdata(time,distance,pace,spm):
def getsmallrowdata_db(columns,ids=[]):
- prepmultipledata(ids)
+
data = read_cols_df_sql(ids,columns)
return data
-def prepmultipledata(ids,verbose=False,debug=True):
- query = sa.text('SELECT DISTINCT workoutid FROM strokedata')
- if debug:
- engine = create_engine(database_url_debug, echo=False)
- else:
- engine = create_engine(database_url, echo=False)
- with engine.connect() as conn, conn.begin():
- res = conn.execute(query)
- res = list(itertools.chain.from_iterable(res.fetchall()))
- conn.close()
- engine.dispose()
-
- res = list(set(ids)-set(res))
- for id in res:
- rowdata,row = getrowdata(id=id)
- if verbose:
- print id
- if rowdata:
- data = dataprep(rowdata.df,id=id,bands=True,barchart=True,otwpower=True)
- return res
-
def read_cols_df_sql(ids,columns,debug=True):
columns = list(columns)+['distance','spm']
columns = [x for x in columns if x != 'None']
diff --git a/rowers/datautils.py b/rowers/datautils.py
index bdc5ac2f..f01aac3b 100644
--- a/rowers/datautils.py
+++ b/rowers/datautils.py
@@ -118,6 +118,8 @@ def getcp(dfgrouped,logarr):
ww = group['power'].copy()
tmax = tt.max()
+
+
if tmax > 500000:
newlen = int(tmax/2000.)
else:
@@ -143,6 +145,7 @@ def getcp(dfgrouped,logarr):
cpw = []
for i in xrange(length-2):
deltat,wmax = getmaxwattinterval(tt,ww,i)
+
if not np.isnan(deltat) and not np.isnan(wmax):
dt.append(deltat)
cpw.append(wmax)
@@ -165,6 +168,7 @@ def getcp(dfgrouped,logarr):
delta = pd.Series(delta,name='Delta')
cpvalue = pd.Series(cpvalue,name='CP')
+
cpdf = pd.DataFrame({
'delta':delta,
'cpvalue':cpvalue
diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py
index b1c7bada..e8b5ec77 100644
--- a/rowers/interactiveplots.py
+++ b/rowers/interactiveplots.py
@@ -621,7 +621,7 @@ def interactive_otwcpchart(powerdf,promember=0):
thesecs = powerdf['Delta']
theavpower = powerdf['CP']
-
+
p1,fitt,fitpower,ratio = datautils.cpfit(powerdf)
message = ""
diff --git a/rowers/tasks.py b/rowers/tasks.py
index 9b98a4e8..8960a03b 100644
--- a/rowers/tasks.py
+++ b/rowers/tasks.py
@@ -26,6 +26,7 @@ from utils import serialize_list,deserialize_list
from rowers.dataprepnodjango import update_strokedata
from rowers.dataprepnodjango import new_workout_from_file
+from rowers.dataprepnodjango import getsmallrowdata_db
from django.core.mail import send_mail, BadHeaderError,EmailMessage
@@ -245,7 +246,20 @@ def handle_otwsetpower(f1,boattype,weightvalue,
rowdata.write_csv(f1,gzip=True)
update_strokedata(workoutid,rowdata.df,debug=debug)
- delta,cpvalues,avgpower = datautils.getsinglecp(rowdata.df)
+ totaltime = rowdata.df['TimeStamp (sec)'].max()-rowdata.df['TimeStamp (sec)'].min()
+ try:
+ totaltime = totaltime+rowdata.df.ix[0,' ElapsedTime (sec)']
+ except KeyError:
+ pass
+ df = getsmallrowdata_db(['power','workoutid','time'],ids=[workoutid])
+ thesecs = totaltime
+ maxt = 1.05*thesecs
+ logarr = datautils.getlogarr(maxt)
+ dfgrouped = df.groupby(['workoutid'])
+ delta,cpvalues,avgpower = datautils.getcp(dfgrouped,logarr)
+
+
+ #delta,cpvalues,avgpower = datautils.getsinglecp(rowdata.df)
res,btvalues = utils.isbreakthrough(delta,cpvalues,ps[0],ps[1],ps[2],ps[3],ratio)
if res:
handle_sendemail_breakthrough(workoutid,email,
diff --git a/rowers/views.py b/rowers/views.py
index 61be6723..2fd23e94 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -2930,18 +2930,18 @@ def otwrankings_view(request,theuser=0,
else:
maxt = 1000.
-
+
logarr = datautils.getlogarr(maxt)
-
+
dfgrouped = df.groupby(['workoutid'])
delta,cpvalue,avgpower = datautils.getcp(dfgrouped,logarr)
-
powerdf = pd.DataFrame({
'Delta':delta,
'CP':cpvalue,
})
+
powerdf = powerdf[powerdf['CP']>0]
powerdf.dropna(axis=0,inplace=True)
diff --git a/rowsanda_107501 b/rowsanda_107501
index 75fae41cc97b1ffb3ac84058a3c11ccdd6cdada4..6ce7c3ea21a4f265148b3f5cb1d1baedc1810a80 100644
GIT binary patch
delta 725403
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