Merge branch 'bugfix/rscore' into develop
This commit is contained in:
+3
-3
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user