Private
Public Access
1
0

Doing saves

This commit is contained in:
Sander Roosendaal
2020-10-15 21:25:15 +02:00
parent 849d9cdaf3
commit 954408ff3d

View File

@@ -1506,9 +1506,70 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower',
if workouttype in otwtypes:
res, btvalues, res2 = utils.isbreakthrough(
delta, cpvalues, r.p0, r.p1, r.p2, r.p3, r.cpratio)
cprange = r.cprange
firstdate = datetime.date.today()-datetime.timedelta(days=cprange)
workouts = Workout.objects.filter(
date__gte=firstdate,
workouttype__in=otwtypes,
)
dd,cpcp,avgpower = fetchcp_new(r,workouts)
powerdf = pd.DataFrame({
'Delta':dd,
'CP':cpcp,
})
if powerdf.empty:
return('','<p>No valid data found</p>')
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)
res = datautils.cpfit(powerdf)
if len(powerdf) != 0:
p1 = res[0]
r.p0 = p1[0]
r.p1 = p1[1]
r.p2 = p1[2]
r.p3 = p1[3]
r.cpratio = res[3]
r.save()
elif workouttype in otetypes:
res, btvalues, res2 = utils.isbreakthrough(
delta, cpvalues, r.ep0, r.ep1, r.ep2, r.ep3, r.ecpratio)
cprange = r.cprange
firstdate = datetime.date.today()-datetime.timedelta(days=cprange)
workouts = Workout.objects.filter(
date__gte=firstdate,
workouttype__in=otetypes,
)
dd,cpcp,avgpower = fetchcp_new(r,workouts)
powerdf = pd.DataFrame({
'Delta':dd,
'CP':cpcp,
})
if powerdf.empty:
return('','<p>No valid data found</p>')
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)
res = datautils.cpfit(powerdf)
if len(powerdf) != 0:
res = datautils.cpfit(powerdf)
p1 = res[0]
r.ep0 = p1[0]
r.ep1 = p1[1]
r.ep2 = p1[2]
r.ep3 = p1[3]
r.ecpratio = res[3]
r.save()
else:
res = 0
res2 = 0
@@ -1764,7 +1825,7 @@ def new_workout_from_file(r, f2,
# for me to check if it is a bug, or a new file type
# worth supporting
if fileformat == 'gpx':
print('aap')
os.remove(f2)
message = "GPX files support is on our roadmap. Check back soon."
return (0, message, f2)
@@ -2624,7 +2685,7 @@ def fix_newtons(id=0, limit=3000):
peakforce = rowdata['peakforce']
if peakforce.mean() > limit:
w = Workout.objects.get(id=id)
print("fixing ", id)
rowdata = rdata(w.csvfilename)
if rowdata and len(rowdata.df):
update_strokedata(w.id, rowdata.df)