added generic static chart routine
This commit is contained in:
104
rowers/views.py
104
rowers/views.py
@@ -6621,7 +6621,31 @@ def workout_edit_view_navionics(request,id=0,message="",successmessage=""):
|
||||
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
# Generic chart creation
|
||||
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
|
||||
def workout_add_chart_view(request,id,plotnr=1):
|
||||
try:
|
||||
w = Workout.objects.get(id=id)
|
||||
except Workout.DoesNotExist:
|
||||
raise Http404("Workout doesn't exist")
|
||||
|
||||
plotnr = int(plotnr)
|
||||
|
||||
if (checkworkoutuser(request.user,w)==False):
|
||||
raise PermissionDenied("You are not allowed add plots to this workout")
|
||||
else:
|
||||
f1 = w.csvfilename[6:-4]
|
||||
timestr = strftime("%Y%m%d-%H%M%S")
|
||||
imagename = f1+timestr+'.png'
|
||||
u = w.user.user
|
||||
r = getrower(u)
|
||||
title = w.name
|
||||
res = uploads.make_plot(r,w,f1,w.csvfilename,'timeplot',title,plotnr=plotnr,
|
||||
imagename=imagename)
|
||||
|
||||
|
||||
url = "/rowers/workout/"+str(w.id)+"/edit"
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
# Create the chart image with wind corrected pace (OTW)
|
||||
@user_passes_test(ispromember,login_url="/",redirect_field_name=None)
|
||||
@@ -6755,45 +6779,9 @@ def workout_add_distanceplot2_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 = 7
|
||||
|
||||
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)
|
||||
title = w.name
|
||||
res = uploads.make_plot(r,w,f1,w.csvfilename,'distanceplot',title,plotnr=7,imagename=imagename)
|
||||
|
||||
i = GraphImage(workout=w,creationdatetime=timezone.now(),
|
||||
filename=fullpathimagename)
|
||||
|
||||
i.save()
|
||||
|
||||
url = "/rowers/workout/"+str(w.id)+"/edit"
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
@@ -6815,44 +6803,8 @@ def workout_add_timeplot2_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 = 8
|
||||
|
||||
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=8,imagename=imagename)
|
||||
|
||||
url = "/rowers/workout/"+str(w.id)+"/edit"
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
Reference in New Issue
Block a user