From c2f1df0c87dcb7d35c56de17f76af7f2b442d93c Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 15 May 2018 17:13:43 +0200 Subject: [PATCH 1/3] added velo --- rowers/dataprep.py | 3 +++ rowers/metrics.py | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index a04a11ee..1285bc35 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -94,6 +94,7 @@ if settings.DEBUG or user == '': columndict = { 'time': 'TimeStamp (sec)', 'hr': ' HRCur (bpm)', + 'velo': ' AverageBoatSpeed (m/s)', 'pace': ' Stroke500mPace (sec/500m)', 'spm': ' Cadence (stokes/min)', 'power': ' Power (watts)', @@ -2039,6 +2040,7 @@ def dataprep(rowdatadf, id=0, bands=True, barchart=True, otwpower=True, rowdatadf.loc[row_index, ' Stroke500mPace (sec/500m)'] = 3000. p = rowdatadf.ix[:, ' Stroke500mPace (sec/500m)'] + velo = rowdatadf.ix[:,' AverageBoatSpeed (m/s)'] hr = rowdatadf.ix[:, ' HRCur (bpm)'] spm = rowdatadf.ix[:, ' Cadence (stokes/min)'] cumdist = rowdatadf.ix[:, 'cum_dist'] @@ -2113,6 +2115,7 @@ def dataprep(rowdatadf, id=0, bands=True, barchart=True, otwpower=True, hr=hr, pace=p * 1e3, spm=spm, + velo=velo, cumdist=cumdist, ftime=niceformat(t2), fpace=nicepaceformat(p2), diff --git a/rowers/metrics.py b/rowers/metrics.py index b609bb3e..629cf731 100644 --- a/rowers/metrics.py +++ b/rowers/metrics.py @@ -68,6 +68,15 @@ rowingmetrics = ( 'mode':'both', 'type': 'basic'}), + ('velo',{ + 'numtype':'float', + 'null':True, + 'verbose_name': 'Boat Speed (m/s)', + 'ax_min': 0, + 'ax_max': 8, + 'mode':'both', + 'type':'pro'}), + ('spm',{ 'numtype':'float', 'null':True, From ce603d343fa819084bb1aef1f11b8e1eeda2ef0d Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 15 May 2018 17:15:23 +0200 Subject: [PATCH 2/3] updated dataprepnodjango --- rowers/dataprepnodjango.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rowers/dataprepnodjango.py b/rowers/dataprepnodjango.py index 992a34fb..2e2b523e 100644 --- a/rowers/dataprepnodjango.py +++ b/rowers/dataprepnodjango.py @@ -59,6 +59,7 @@ database_url_debug = 'sqlite:///'+database_name_dev columndict = { 'time':'TimeStamp (sec)', 'hr':' HRCur (bpm)', + 'velo': ' AverageBoatSpeed (m/s)', 'pace':' Stroke500mPace (sec/500m)', 'spm':' Cadence (stokes/min)', 'power':' Power (watts)', @@ -977,6 +978,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True, rowdatadf.loc[row_index,' Stroke500mPace (sec/500m)'] = 3000. p = rowdatadf.ix[:,' Stroke500mPace (sec/500m)'] + velo = rowdatadf.ix[:,' AverageBoatSpeed (m/s)'] hr = rowdatadf.ix[:,' HRCur (bpm)'] spm = rowdatadf.ix[:,' Cadence (stokes/min)'] cumdist = rowdatadf.ix[:,'cum_dist'] @@ -1060,6 +1062,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True, cumdist = cumdist, ftime = niceformat(t2), fpace = nicepaceformat(p2), + velo=velo, driveenergy=driveenergy, distanceperstroke=distanceperstroke, power=power, From 6a50df6bae97418f777cc2f8e83a05b41c90307d Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 17 May 2018 13:07:53 +0200 Subject: [PATCH 3/3] fixed bokeh bug for workouts with no spm --- rowers/interactiveplots.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 74a2cce2..e063e701 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -2135,6 +2135,11 @@ def interactive_chart(id=0,promember=0): except KeyError: return "","No valid data available" + try: + spm = datadf['spm'] + except KeyError: + datadf['spm'] = 0*datadf['pace'] + #datadf,row = dataprep.getrowdata_db(id=id) #if datadf.empty: #return "","No Valid Data Available"