From fc321ad72f0b0d14ac085d92958641e5bb7b66a9 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 25 Sep 2017 12:28:52 +0200 Subject: [PATCH] adding other plot views --- rowers/uploads.py | 9 +- rowers/views.py | 210 +++------------------------------------------- 2 files changed, 16 insertions(+), 203 deletions(-) diff --git a/rowers/uploads.py b/rowers/uploads.py index 7cc20942..6261c34a 100644 --- a/rowers/uploads.py +++ b/rowers/uploads.py @@ -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 diff --git a/rowers/views.py b/rowers/views.py index e1cc280d..07314d08 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -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)