fix no power * driveenergy sliders
This commit is contained in:
@@ -102,6 +102,22 @@ def interactive_boxchart(datadf,fieldname):
|
||||
plot.xaxis.axis_label = 'Date'
|
||||
plot.yaxis.axis_label = axlabels[fieldname]
|
||||
|
||||
|
||||
# add watermark
|
||||
plot.extra_y_ranges = {"watermark": watermarkrange}
|
||||
plot.extra_x_ranges = {"watermark": watermarkrange}
|
||||
|
||||
plot.image_url([watermarkurl],watermarkx,watermarky,
|
||||
watermarkw,watermarkh,
|
||||
global_alpha=watermarkalpha,
|
||||
w_units='screen',
|
||||
h_units='screen',
|
||||
anchor=watermarkanchor,
|
||||
dilate=True,
|
||||
x_range_name = "watermark",
|
||||
y_range_name = "watermark",
|
||||
)
|
||||
|
||||
|
||||
plot.xaxis.formatter = DatetimeTickFormatter(
|
||||
days=["%d %B %Y"],
|
||||
@@ -1336,8 +1352,7 @@ def interactive_flex_chart2(id=0,promember=0,
|
||||
'time','pace','workoutstate','time']
|
||||
|
||||
rowdata = dataprep.getsmallrowdata_db(columns,ids=[id],doclean=True,
|
||||
workstrokesonly=workstrokesonly,
|
||||
convertnewtons=False)
|
||||
workstrokesonly=workstrokesonly)
|
||||
|
||||
try:
|
||||
tests = rowdata[yparam2]
|
||||
@@ -1352,6 +1367,22 @@ def interactive_flex_chart2(id=0,promember=0,
|
||||
rowdata.dropna(axis=1,how='all',inplace=True)
|
||||
rowdata.dropna(axis=0,how='any',inplace=True)
|
||||
|
||||
# test if we have drive energy
|
||||
nowork = 1
|
||||
try:
|
||||
test = rowdata['driveenergy'].mean()
|
||||
nowork = 0
|
||||
except KeyError:
|
||||
rowdata['driveenergy'] = 500.
|
||||
|
||||
# test if we have power
|
||||
nopower = 1
|
||||
try:
|
||||
test = rowdata['power'].mean()
|
||||
nopower = 0
|
||||
except KeyError:
|
||||
rowdata['power'] = 50.
|
||||
|
||||
row = Workout.objects.get(id=id)
|
||||
if rowdata.empty:
|
||||
return "","No valid data"
|
||||
@@ -1437,6 +1468,7 @@ def interactive_flex_chart2(id=0,promember=0,
|
||||
else:
|
||||
rowdata['yname2'] = axlabels[yparam1]
|
||||
|
||||
|
||||
# prepare data
|
||||
source = ColumnDataSource(
|
||||
rowdata
|
||||
@@ -1611,6 +1643,8 @@ def interactive_flex_chart2(id=0,promember=0,
|
||||
|
||||
hover.mode = 'mouse'
|
||||
|
||||
print rowdata.info()
|
||||
|
||||
callback = CustomJS(args = dict(source=source,source2=source2,
|
||||
x1means=x1means,
|
||||
y1means=y1means,
|
||||
@@ -1626,13 +1660,13 @@ def interactive_flex_chart2(id=0,promember=0,
|
||||
var y1 = data['y1']
|
||||
var y2 = data['y2']
|
||||
var spm1 = data['spm']
|
||||
var driveenergy1 = data['driveenergy']
|
||||
var time1 = data['time']
|
||||
var pace1 = data['pace']
|
||||
var hr1 = data['hr']
|
||||
var fpace1 = data['fpace']
|
||||
var distance1 = data['distance']
|
||||
var power1 = data['power']
|
||||
var driveenergy1 = data['driveenergy']
|
||||
var xname = data['xname'][0]
|
||||
var yname1 = data['yname1'][0]
|
||||
var yname2 = data['yname2'][0]
|
||||
@@ -1683,7 +1717,7 @@ def interactive_flex_chart2(id=0,promember=0,
|
||||
xm += x1[i]
|
||||
ym1 += y1[i]
|
||||
ym2 += y2[i]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1733,7 +1767,7 @@ def interactive_flex_chart2(id=0,promember=0,
|
||||
slider_dist_min = Slider(start=0,end=distmax,value=0,step=1,
|
||||
title="Min Distance",callback=callback)
|
||||
callback.args["mindist"] = slider_dist_min
|
||||
|
||||
|
||||
slider_dist_max = Slider(start=0,end=distmax,value=distmax,
|
||||
step=1,
|
||||
title="Max Distance",callback=callback)
|
||||
|
||||
@@ -311,7 +311,7 @@ def workout_tp_upload(user,w):
|
||||
tcxfile = createtpworkoutdata(w)
|
||||
if tcxfile:
|
||||
res,reason,status_code,headers = uploadactivity(
|
||||
r.tptoken,tcxfile,
|
||||
thetoken,tcxfile,
|
||||
name=w.name
|
||||
)
|
||||
if res == 0:
|
||||
|
||||
Reference in New Issue
Block a user