diff --git a/rowers/views/userviews.py b/rowers/views/userviews.py index a766b3f0..3ab68c22 100644 --- a/rowers/views/userviews.py +++ b/rowers/views/userviews.py @@ -566,6 +566,60 @@ def rower_prefs_view(request,userid=0,message=""): r.cprange = cprange r.save() messages.info(request,'Updated CP range value') + firstdate = datetime.date.today()-datetime.timedelta(days=cprange) + workouts = Workout.objects.filter( + date__gte=datetime.date.today()-datetime.timedelta(days=cprange), + workouttype__in=mytypes.otwtypes, + user = r, + ) + dd,cpcp,avgpower,workoutnames = dataprep.fetchcp_new(r,workouts) + powerdf = pd.DataFrame({ + 'Delta':dd, + 'CP':cpcp, + }) + + + powerdf = powerdf[powerdf['CP']>0] + powerdf.dropna(axis=0,inplace=True) + powerdf.sort_values(['Delta','CP'],ascending=[1,0],inplace=True) + powerdf.drop_duplicates(subset='Delta',keep='first',inplace=True) + + res2 = datautils.cpfit(powerdf) + if len(powerdf) != 0: + p1 = res2[0] + r.p0 = p1[0] + r.p1 = p1[1] + r.p2 = p1[2] + r.p3 = p1[3] + r.cpratio = res2[3] + r.save() + + workouts = Workout.objects.filter( + date__gte=datetime.date.today()-datetime.timedelta(days=cprange), + workouttype__in=mytypes.otetypes, + user = r, + ) + dd,cpcp,avgpower,workoutnames = dataprep.fetchcp_new(r,workouts) + powerdf = pd.DataFrame({ + 'Delta':dd, + 'CP':cpcp, + }) + + + powerdf = powerdf[powerdf['CP']>0] + powerdf.dropna(axis=0,inplace=True) + powerdf.sort_values(['Delta','CP'],ascending=[1,0],inplace=True) + powerdf.drop_duplicates(subset='Delta',keep='first',inplace=True) + + res2 = datautils.cpfit(powerdf) + if len(powerdf) != 0: + p1 = res2[0] + r.ep0 = p1[0] + r.ep1 = p1[1] + r.ep2 = p1[2] + r.ep3 = p1[3] + r.ecpratio = res2[3] + r.save() return render(request, 'rower_preferences.html', {