Private
Public Access
1
0

adding other plot views

This commit is contained in:
Sander Roosendaal
2017-09-25 12:28:52 +02:00
parent 04ac613710
commit fc321ad72f
2 changed files with 16 additions and 203 deletions

View File

@@ -18,8 +18,9 @@ from rowers.utils import (
)
def make_plot(r,w,f1,f2,plottype,title):
imagename = f1[:-4]+'.png'
def make_plot(r,w,f1,f2,plottype,title,imagename='',plotnr=0):
if imagename == '':
imagename = f1[:-4]+'.png'
fullpathimagename = 'static/plots/'+imagename
powerperc = 100*np.array([r.pw_ut2,
@@ -50,7 +51,9 @@ def make_plot(r,w,f1,f2,plottype,title):
'pieplot':3,
}
plotnr = plotnrs[plottype]
if plotnr == 0:
plotnr = plotnrs[plottype]
if w.workouttype in ('water','coastal'):
plotnr = plotnr+3

View File

@@ -6589,12 +6589,6 @@ def workout_edit_view_navionics(request,id=0,message="",successmessage=""):
rowdata.df[' longitude'],
row.name)
#res = googlemap_chart(rowdata.df[' latitude'],
# rowdata.df[' longitude'],
# row.name)
#gmscript = res[0]
#gmdiv = res[1]
else:
mapscript = ""
mapdiv = ""
@@ -6643,50 +6637,12 @@ def workout_add_otw_powerplot_view(request,id):
f1 = w.csvfilename[6:-4]
timestr = strftime("%Y%m%d-%H%M%S")
imagename = f1+timestr+'.png'
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
r.pw_tr,r.pw_an])/r.ftp
title = w.name
res = uploads.make_plot(r,w,f1,w.csvfilename,'timeplot',title,plotnr=9,imagename=imagename)
ftp = r.ftp
if w.workouttype in ('water','coastal'):
ftp = ftp*(100.-r.otwslack)/100.
hrpwrdata = {
'hrmax':r.max,
'hrut2':r.ut2,
'hrut1':r.ut1,
'hrat':r.at,
'hrtr':r.tr,
'hran':r.an,
'ftp':ftp,
'powerperc':serialize_list(powerperc),
'powerzones':serialize_list(r.powerzones),
}
# make plot - asynchronous task
plotnr = 9
if w.workouttype in ('water','coastal'):
plotnr = plotnr+3
if settings.DEBUG:
res = handle_makeplot.delay(f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
else:
res = queue.enqueue(handle_makeplot,f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
# i = GraphImage(workout=w,creationdatetime=datetime.datetime.now(),
# filename=fullpathimagename)
i = GraphImage(workout=w,creationdatetime=timezone.now(),
filename=fullpathimagename)
i.save()
url = "/rowers/workout/"+str(w.id)+"/edit"
return HttpResponseRedirect(url)
@@ -6707,46 +6663,8 @@ def workout_add_piechart_view(request,id):
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
r.pw_tr,r.pw_an])/r.ftp
ftp = float(r.ftp)
if w.workouttype in ('water','coastal'):
ftp = ftp*(100.-r.otwslack)/100.
hrpwrdata = {
'hrmax':r.max,
'hrut2':r.ut2,
'hrut1':r.ut1,
'hrat':r.at,
'hrtr':r.tr,
'hran':r.an,
'ftp':ftp,
'powerperc':serialize_list(powerperc),
'powerzones':serialize_list(r.powerzones),
}
# make plot - asynchronous task
plotnr = 3
if w.workouttype in ('water','coastal'):
plotnr = plotnr+3
if settings.DEBUG:
res = handle_makeplot.delay(f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
else:
res = queue.enqueue(handle_makeplot,f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
# i = GraphImage(workout=w,creationdatetime=datetime.datetime.now(),
# filename=fullpathimagename)
i = GraphImage(workout=w,creationdatetime=timezone.now(),
filename=fullpathimagename)
i.save()
title = w.name
res = uploads.make_plot(r,w,f1,w.csvfilename,'pieplot',title,plotnr=3,imagename=imagename)
url = "/rowers/workout/"+str(w.id)+"/edit"
return HttpResponseRedirect(url)
@@ -6768,44 +6686,8 @@ def workout_add_power_piechart_view(request,id):
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
r.pw_tr,r.pw_an])/r.ftp
ftp = float(r.ftp)
if w.workouttype in ('water','coastal'):
ftp = ftp*(100.-r.otwslack)/100.
hrpwrdata = {
'hrmax':r.max,
'hrut2':r.ut2,
'hrut1':r.ut1,
'hrat':r.at,
'hrtr':r.tr,
'hran':r.an,
'ftp':ftp,
'powerperc':serialize_list(powerperc),
'powerzones':serialize_list(r.powerzones),
}
# make plot - asynchronous task
plotnr = 13
if w.workouttype in ('water','coastal'):
plotnr = plotnr+3
if settings.DEBUG:
res = handle_makeplot.delay(f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
else:
res = queue.enqueue(handle_makeplot,f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
i = GraphImage(workout=w,creationdatetime=timezone.now(),
filename=fullpathimagename)
i.save()
title = w.name
res = uploads.make_plot(r,w,f1,w.csvfilename,'pieplot',title,plotnr=13,imagename=imagename)
url = "/rowers/workout/"+str(w.id)+"/edit"
return HttpResponseRedirect(url)
@@ -6827,45 +6709,8 @@ def workout_add_timeplot_view(request,id):
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
r.pw_tr,r.pw_an])/r.ftp
ftp = float(r.ftp)
if w.workouttype in ('water','coastal'):
ftp = ftp*(100.-r.otwslack)/100.
hrpwrdata = {
'hrmax':r.max,
'hrut2':r.ut2,
'hrut1':r.ut1,
'hrat':r.at,
'hrtr':r.tr,
'hran':r.an,
'ftp':ftp,
'powerperc':serialize_list(powerperc),
'powerzones':serialize_list(r.powerzones),
}
# make plot - asynchronous task
plotnr = 1
if w.workouttype in ('water','coastal'):
plotnr = plotnr+3
if settings.DEBUG:
res = handle_makeplot.delay(f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
else:
res = queue.enqueue(handle_makeplot,f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
i = GraphImage(workout=w,creationdatetime=timezone.now(),
filename=fullpathimagename)
# i = GraphImage(workout=w,creationdatetime=datetime.datetime.now(),
# filename=fullpathimagename)
i.save()
title = w.name
res = uploads.make_plot(r,w,f1,w.csvfilename,'timeplot',title,plotnr=1,imagename=imagename)
url = "/rowers/workout/"+str(w.id)+"/edit"
return HttpResponseRedirect(url)
@@ -6887,43 +6732,8 @@ def workout_add_distanceplot_view(request,id):
fullpathimagename = 'static/plots/'+imagename
u = w.user.user
r = getrower(u)
powerperc = 100*np.array([r.pw_ut2,
r.pw_ut1,
r.pw_at,
r.pw_tr,r.pw_an])/r.ftp
ftp = float(r.ftp)
if w.workouttype in ('water','coastal'):
ftp = ftp*(100.-r.otwslack)/100.
hrpwrdata = {
'hrmax':r.max,
'hrut2':r.ut2,
'hrut1':r.ut1,
'hrat':r.at,
'hrtr':r.tr,
'hran':r.an,
'ftp':ftp,
'powerperc':serialize_list(powerperc),
'powerzones':serialize_list(r.powerzones),
}
# make plot - asynchronous task
plotnr = 2
if w.workouttype in ('water','coastal'):
plotnr = plotnr+3
if settings.DEBUG:
res = handle_makeplot.delay(f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
else:
res = queue.enqueue(handle_makeplot,f1,w.csvfilename,
w.name,hrpwrdata,plotnr,imagename)
i = GraphImage(workout=w,creationdatetime=timezone.now(),
filename=fullpathimagename)
i.save()
title = w.name
res = uploads.make_plot(r,w,f1,w.csvfilename,'distanceplot',title,plotnr=2,imagename=imagename)
url = "/rowers/workout/"+str(w.id)+"/edit"
return HttpResponseRedirect(url)