Private
Public Access
1
0

Merge branch 'bugfix/rscore' into develop

This commit is contained in:
Sander Roosendaal
2018-02-13 08:31:18 +01:00
3 changed files with 36 additions and 30 deletions
+3 -3
View File
@@ -2217,7 +2217,7 @@ def dataprep(rowdatadf, id=0, bands=True, barchart=True, otwpower=True,
def workout_trimp(workout): def workout_trimp(workout):
r = workout.user r = workout.user
df,row = getrowdata_db(id=workout.id) df,row = getrowdata_db(id=workout.id)
df = clean_df_stats(df) df = clean_df_stats(df,workstrokesonly=False)
if df.empty: if df.empty:
df,row = getrowdata_db(id=workout.id) df,row = getrowdata_db(id=workout.id)
df = clean_df_stats(df,workstrokesonly=False) df = clean_df_stats(df,workstrokesonly=False)
@@ -2229,7 +2229,7 @@ def workout_trimp(workout):
def workout_rscore(w): def workout_rscore(w):
r = w.user r = w.user
df,row = getrowdata_db(id=w.id) df,row = getrowdata_db(id=w.id)
df = clean_df_stats(df) df = clean_df_stats(df,workstrokesonly=False)
if df.empty: if df.empty:
df,row = getrowdata_db(id=w.id) df,row = getrowdata_db(id=w.id)
df = clean_df_stats(df,workstrokesonly=False) df = clean_df_stats(df,workstrokesonly=False)
@@ -2249,4 +2249,4 @@ def workout_rscore(w):
else: else:
tss = 0 tss = 0
return tss return tss,normp
+1 -1
View File
@@ -96,7 +96,7 @@ def get_session_metrics(ps):
distancev += w.distance distancev += w.distance
durationv += timefield_to_seconds_duration(w.duration) durationv += timefield_to_seconds_duration(w.duration)
trimpv += dataprep.workout_trimp(w) trimpv += dataprep.workout_trimp(w)
rscorev += dataprep.workout_rscore(w) rscorev += dataprep.workout_rscore(w)[0]
ratio,statusv = is_session_complete_ws(ws,ps) ratio,statusv = is_session_complete_ws(ws,ps)
completedatev = ws[0].date.strftime('%Y-%b-%d') completedatev = ws[0].date.strftime('%Y-%b-%d')
+21 -15
View File
@@ -7468,19 +7468,10 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
otherstats = {} otherstats = {}
# Normalized power & TSS # Normalized power & TSS
duration = datadf['time'].max()-datadf['time'].min() tss,normp = dataprep.workout_rscore(w)
duration /= 1.0e3
pwr4 = datadf['power']**(4.0)
normp = (pwr4.mean())**(0.25)
if not np.isnan(normp):
ftp = float(r.ftp)
if w.workouttype in ('water','coastal'):
ftp = ftp*(100.-r.otwslack)/100.
intensityfactor = normp/float(ftp)
tss = 100.*((duration*normp*intensityfactor)/(3600.*ftp))
if not np.isnan(tss): if not np.isnan(tss) and tss != 0:
otherstats['tss'] = { otherstats['tss'] = {
'verbose_name':'rScore', 'verbose_name':'rScore',
'value':int(tss), 'value':int(tss),
@@ -7521,9 +7512,8 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
pass pass
# TRIMP # TRIMP
if datadf['hr'].mean() > 0 and r.sex != 'not specified': trimp = dataprep.workout_trimp(w)
trimp = metrics.calc_trimp(datadf,r.sex,r.max,r.rest)
trimp = int(trimp)
otherstats['trimp'] = { otherstats['trimp'] = {
'verbose_name': 'TRIMP', 'verbose_name': 'TRIMP',
'value': trimp, 'value': trimp,
@@ -11632,6 +11622,9 @@ def plannedsession_create_view(request,timeperiod='thisweek',rowerid=0):
add_rower_session(r,ps) add_rower_session(r,ps)
request.session['fstartdate'] = str(arrow.get(startdate))
request.session['fenddate'] = str(arrow.get(enddate))
url = reverse(plannedsession_create_view, url = reverse(plannedsession_create_view,
kwargs = { kwargs = {
'rowerid':r.id, 'rowerid':r.id,
@@ -11639,7 +11632,20 @@ def plannedsession_create_view(request,timeperiod='thisweek',rowerid=0):
}) })
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
else: else:
sessioncreateform = PlannedSessionForm() if 'fstartdate' in request.session:
fstartdate = arrow.get(request.session['fstartdate']).date()
fenddate = arrow.get(request.session['fenddate']).date()
forminitial = {
'startdate':fstartdate,
'enddate':fenddate
}
else:
forminitial = {}
print forminitial
sessioncreateform = PlannedSessionForm(initial=forminitial)
startdate,enddate = get_dates_timeperiod(timeperiod) startdate,enddate = get_dates_timeperiod(timeperiod)
sps = get_sessions(r,startdate=startdate,enddate=enddate) sps = get_sessions(r,startdate=startdate,enddate=enddate)