small impr
This commit is contained in:
@@ -6583,7 +6583,7 @@ def interactive_otw_advanced_pace_chart(id=0,promember=0):
|
||||
|
||||
return [script,div]
|
||||
|
||||
def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
def get_zones_report(rower,startdate,enddate,trainingzones='hr',date_agg='week'):
|
||||
duration = enddate-startdate
|
||||
|
||||
totaldays = duration.total_seconds()/(24*3600)
|
||||
@@ -6623,7 +6623,11 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
dd = w.date.strftime('%m/%d')
|
||||
dd2 = w.date.strftime('%Y/%m/%d')
|
||||
dd3 = w.date.strftime('%Y/%m')
|
||||
dd4 = arrow.get(w.date).isocalendar()[1]
|
||||
dd4 = '{year}/{week:02d}'.format(
|
||||
week=arrow.get(w.date).isocalendar()[1],
|
||||
year= w.date.strftime('%y')
|
||||
)
|
||||
|
||||
#print(w.date,arrow.get(w.date),arrow.get(w.date).isocalendar())
|
||||
|
||||
qryw = 'workoutid == {workoutid}'.format(workoutid=w.id)
|
||||
@@ -6632,10 +6636,7 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
if trainingzones == 'power':
|
||||
qry = 'power < {ut2}'.format(ut2=rower.pw_ut2)
|
||||
timeinzone = df.query(qry).query(qryw)['deltat'].sum()/(60*1e3)
|
||||
if totaldays<=30:
|
||||
dates.append(dd)
|
||||
dates_sorting.append(dd2)
|
||||
elif totaldays<=121: # pragma: no cover
|
||||
if date_agg == 'week':
|
||||
dates.append(dd4)
|
||||
dates_sorting.append(dd4)
|
||||
else: # pragma: no cover
|
||||
@@ -6653,10 +6654,7 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
if trainingzones == 'power':
|
||||
qry = '{ut2} <= power < {ut2}'.format(ut1=rower.pw_ut1,ut2=rower.pw_ut2)
|
||||
timeinzone = df.query(qry).query(qryw)['deltat'].sum()/(60*1e3)
|
||||
if totaldays<=30:
|
||||
dates.append(dd)
|
||||
dates_sorting.append(dd2)
|
||||
elif totaldays<=121: # pragma: no cover
|
||||
if date_agg == 'week':
|
||||
dates.append(dd4)
|
||||
dates_sorting.append(dd4)
|
||||
else: # pragma: no cover
|
||||
@@ -6674,10 +6672,7 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
if trainingzones == 'power':
|
||||
qry = '{ut1} <= power < {at}'.format(ut1=rower.pw_ut1,at=rower.pw_at)
|
||||
timeinzone = df.query(qry).query(qryw)['deltat'].sum()/(60*1e3)
|
||||
if totaldays<=30:
|
||||
dates.append(dd)
|
||||
dates_sorting.append(dd2)
|
||||
elif totaldays<=121: # pragma: no cover
|
||||
if date_agg == 'week':
|
||||
dates.append(dd4)
|
||||
dates_sorting.append(dd4)
|
||||
else: # pragma: no cover
|
||||
@@ -6695,10 +6690,7 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
if trainingzones == 'power':
|
||||
qry = '{at} <= power < {tr}'.format(at=rower.pw_at,tr=rower.pw_tr)
|
||||
timeinzone = df.query(qry).query(qryw)['deltat'].sum()/(60*1e3)
|
||||
if totaldays<=30:
|
||||
dates.append(dd)
|
||||
dates_sorting.append(dd2)
|
||||
elif totaldays<=121: # pragma: no cover
|
||||
if date_agg == 'week':
|
||||
dates.append(dd4)
|
||||
dates_sorting.append(dd4)
|
||||
else: # pragma: no cover
|
||||
@@ -6716,10 +6708,7 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
if trainingzones == 'power':
|
||||
qry = '{tr} <= power < {an}'.format(tr=rower.pw_tr,an=rower.pw_an)
|
||||
timeinzone = df.query(qry).query(qryw)['deltat'].sum()/(60*1e3)
|
||||
if totaldays<=30:
|
||||
dates.append(dd)
|
||||
dates_sorting.append(dd2)
|
||||
elif totaldays<=121: # pragma: no cover
|
||||
if date_agg == 'week':
|
||||
dates.append(dd4)
|
||||
dates_sorting.append(dd4)
|
||||
else: # pragma: no cover
|
||||
@@ -6737,10 +6726,7 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
if trainingzones == 'power':
|
||||
qry = 'power >= {an}'.format(an=rower.pw_an)
|
||||
timeinzone = df.query(qry).query(qryw)['deltat'].sum()/(60*1e3)
|
||||
if totaldays<=30:
|
||||
dates.append(dd)
|
||||
dates_sorting.append(dd2)
|
||||
elif totaldays<=121: # pragma: no cover
|
||||
if date_agg == 'week':
|
||||
dates.append(dd4)
|
||||
dates_sorting.append(dd4)
|
||||
else: # pragma: no cover
|
||||
@@ -6766,11 +6752,11 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
|
||||
while d<=enddate:
|
||||
dd = d.strftime('%d')
|
||||
if totaldays <= 30:
|
||||
dates.append(d.strftime('%m/%d'))
|
||||
dates_sorting.append(d.strftime('%Y/%m/%d'))
|
||||
elif totaldays<=121: # pragma: no cover
|
||||
dd4 = arrow.get(d).isocalendar()[1]
|
||||
if date_agg == 'week':
|
||||
dd4 = '{year}/{week:02d}'.format(
|
||||
week=arrow.get(d).isocalendar()[1],
|
||||
year= d.strftime('%y')
|
||||
)
|
||||
dates.append(dd4)
|
||||
dates_sorting.append(dd4)
|
||||
else:
|
||||
@@ -6801,7 +6787,7 @@ def get_zones_report(rower,startdate,enddate,trainingzones='hr'):
|
||||
|
||||
return data
|
||||
|
||||
def interactive_zoneschart(rower,data,startdate,enddate,trainingzones='hr'):
|
||||
def interactive_zoneschart(rower,data,startdate,enddate,trainingzones='hr',date_agg='week'):
|
||||
duration = enddate-startdate
|
||||
|
||||
totaldays = duration.total_seconds()/(24*3600)
|
||||
@@ -6813,7 +6799,7 @@ def interactive_zoneschart(rower,data,startdate,enddate,trainingzones='hr'):
|
||||
|
||||
|
||||
color_map = {
|
||||
'<{ut2}'.format(ut2=hrzones[1]):'gray',
|
||||
'<{ut2}'.format(ut2=hrzones[1]):'green',
|
||||
hrzones[1]:'lime',
|
||||
hrzones[2]:'yellow',
|
||||
hrzones[3]:'blue',
|
||||
@@ -6822,7 +6808,7 @@ def interactive_zoneschart(rower,data,startdate,enddate,trainingzones='hr'):
|
||||
}
|
||||
if trainingzones == 'power':
|
||||
color_map = {
|
||||
'<{ut2}'.format(ut2=powerzones[1]):'gray',
|
||||
'<{ut2}'.format(ut2=powerzones[1]):'green',
|
||||
powerzones[1]:'lime',
|
||||
powerzones[2]:'yellow',
|
||||
powerzones[3]:'blue',
|
||||
@@ -6851,10 +6837,10 @@ def interactive_zoneschart(rower,data,startdate,enddate,trainingzones='hr'):
|
||||
|
||||
|
||||
df = pd.DataFrame(data)
|
||||
if totaldays > 30:
|
||||
df.drop('minutes',inplace=True,axis='columns')
|
||||
else:
|
||||
df.drop('hours',inplace=True,axis='columns')
|
||||
|
||||
df.drop('minutes',inplace=True,axis='columns')
|
||||
|
||||
#df.drop('hours',inplace=True,axis='columns')
|
||||
|
||||
|
||||
source = ColumnDataSource(df)
|
||||
@@ -6883,9 +6869,9 @@ def interactive_zoneschart(rower,data,startdate,enddate,trainingzones='hr'):
|
||||
r = str(rower),
|
||||
)
|
||||
|
||||
if totaldays >= 30:
|
||||
if date_agg == 'week':
|
||||
p.xaxis.axis_label = 'Week'
|
||||
if totaldays >= 121:
|
||||
else:
|
||||
p.xaxis.axis_label = 'Month'
|
||||
|
||||
p.plot_width=550
|
||||
|
||||
Reference in New Issue
Block a user