bug fix zeropower
This commit is contained in:
@@ -1037,8 +1037,6 @@ def fetchcp_new(rower,workouts):
|
|||||||
if len(data)>1:
|
if len(data)>1:
|
||||||
df = pd.concat(data,axis=0)
|
df = pd.concat(data,axis=0)
|
||||||
|
|
||||||
print(df)
|
|
||||||
|
|
||||||
df = df = df[df['cp'] == df.groupby(['delta'])['cp'].transform('max')]
|
df = df = df[df['cp'] == df.groupby(['delta'])['cp'].transform('max')]
|
||||||
|
|
||||||
|
|
||||||
@@ -1054,6 +1052,8 @@ def setcp(workout,background=False):
|
|||||||
job = myqueue(queuelow,handle_setcp,strokesdf,filename,workout.id)
|
job = myqueue(queuelow,handle_setcp,strokesdf,filename,workout.id)
|
||||||
return job.id
|
return job.id
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if not strokesdf.empty:
|
if not strokesdf.empty:
|
||||||
totaltime = strokesdf['time'].max()
|
totaltime = strokesdf['time'].max()
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -522,11 +522,13 @@ def cpdata(workouts, options):
|
|||||||
|
|
||||||
ids = [w.id for w in workouts]
|
ids = [w.id for w in workouts]
|
||||||
delta, cpvalue, avgpower,workoutnames = dataprep.fetchcp_new(r,workouts)
|
delta, cpvalue, avgpower,workoutnames = dataprep.fetchcp_new(r,workouts)
|
||||||
|
|
||||||
powerdf = pd.DataFrame({
|
powerdf = pd.DataFrame({
|
||||||
'Delta':delta,
|
'Delta':delta,
|
||||||
'CP':cpvalue,
|
'CP':cpvalue,
|
||||||
'workout':workoutnames,
|
'workout':workoutnames,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if powerdf.empty:
|
if powerdf.empty:
|
||||||
|
|||||||
@@ -1278,8 +1278,9 @@ def workouts_join_select(request,
|
|||||||
def remove_power_view(request,id=0):
|
def remove_power_view(request,id=0):
|
||||||
r = getrower(request.user)
|
r = getrower(request.user)
|
||||||
workout = get_workout_by_opaqueid(request,id)
|
workout = get_workout_by_opaqueid(request,id)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
os.remove('media/cpdata{id}.parquet.gz'.format(id=workout.id))
|
os.remove('media/cpdata_{id}.parquet.gz'.format(id=workout.id))
|
||||||
except OSError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -1294,75 +1295,12 @@ def remove_power_view(request,id=0):
|
|||||||
powerperc=powerperc, powerzones=r.powerzones)
|
powerperc=powerperc, powerzones=r.powerzones)
|
||||||
row = rdata(f,rower=rr)
|
row = rdata(f,rower=rr)
|
||||||
row.df[' Power (watts)'] = 0
|
row.df[' Power (watts)'] = 0
|
||||||
|
row.write_csv(f)
|
||||||
res = dataprep.dataprep(row.df, id=workout.id)
|
res = dataprep.dataprep(row.df, id=workout.id)
|
||||||
cpdf,delta,cpvalues = dataprep.setcp(workout)
|
cpdf,delta,cpvalues = dataprep.setcp(workout)
|
||||||
if not cpdf.empty:
|
|
||||||
if workouttype in mytypes.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(
|
dataprep.initiate_cp(r)
|
||||||
date__gte=firstdate,
|
|
||||||
workouttype__in=otwtypes,
|
|
||||||
user = w.user,
|
|
||||||
)
|
|
||||||
|
|
||||||
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()
|
|
||||||
|
|
||||||
elif workouttype in mytypes.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,
|
|
||||||
user = w.user,
|
|
||||||
)
|
|
||||||
dd,cpcp,avgpower,workoutnames = 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:
|
|
||||||
res = datautils.cpfit(powerdf)
|
|
||||||
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()
|
|
||||||
|
|
||||||
url = reverse(r.defaultlandingpage,
|
url = reverse(r.defaultlandingpage,
|
||||||
kwargs = {
|
kwargs = {
|
||||||
|
|||||||
Reference in New Issue
Block a user