fixed power time fitness chart
This commit is contained in:
@@ -1037,7 +1037,7 @@ def fetchcp_new(rower,workouts):
|
||||
if len(data)>1:
|
||||
df = pd.concat(data,axis=0)
|
||||
|
||||
df = df = df[df['cp'] == df.groupby(['delta'])['cp'].transform('max')]
|
||||
df = df[df['cp'] == df.groupby(['delta'])['cp'].transform('max')]
|
||||
|
||||
|
||||
df = df.sort_values(['delta']).reset_index()
|
||||
|
||||
@@ -1535,6 +1535,7 @@ def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower',startdate=None,
|
||||
power1hr = [int(m.PowerOneHour) for m in fitnessmetrics]
|
||||
dates = [m.date for m in fitnessmetrics]
|
||||
|
||||
|
||||
mode = [m.workoutmode for m in fitnessmetrics]
|
||||
|
||||
if len(power4min) == 0:
|
||||
@@ -1584,7 +1585,6 @@ def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower',startdate=None,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
# fit
|
||||
|
||||
resampled = groups.set_index('dates')
|
||||
@@ -1667,11 +1667,13 @@ def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower',startdate=None,
|
||||
plot.sizing_mode = 'stretch_both'
|
||||
|
||||
plot.y_range = Range1d(0,1.5*max(power4min))
|
||||
startdate = datetime.datetime.combine(startdate,datetime.datetime.min.time())
|
||||
enddate = datetime.datetime.combine(enddate,datetime.datetime.min.time())
|
||||
if not startdate:
|
||||
startdate = min(date)
|
||||
startdate = datetime.datetime.combine(min(date), datetime.datetime.min.time())
|
||||
|
||||
if not enddate:
|
||||
enddate = max(date)
|
||||
enddate = datetime.datetime.combine(max(date), datetime.datetime.min.time())
|
||||
|
||||
plot.x_range = Range1d(
|
||||
startdate,enddate,
|
||||
@@ -1689,6 +1691,8 @@ def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower',startdate=None,
|
||||
|
||||
script,div = components(plot)
|
||||
|
||||
print(len(script))
|
||||
|
||||
return [script,div]
|
||||
|
||||
def interactive_histoall(theworkouts,histoparam,includereststrokes,
|
||||
|
||||
@@ -58,7 +58,6 @@ def do_update(user,mode='rower',days=42):
|
||||
except ValueError:
|
||||
max_id = 0
|
||||
|
||||
|
||||
if last_update_date < now_date and max_workout_id < max_id:
|
||||
job = myqueue(queuelow,
|
||||
handle_updatefitnessmetric,
|
||||
|
||||
@@ -201,8 +201,6 @@ def handle_strava_sync(stravatoken,workoutid,filename,name,activity_type,descrip
|
||||
failed = True
|
||||
except stravalib.exc.ObjectNotFound:
|
||||
failed = True
|
||||
except stravalib.exc.TimeoutExceeded:
|
||||
failed = True
|
||||
except ActivityUploadFailed:
|
||||
failed = True
|
||||
|
||||
@@ -2078,12 +2076,28 @@ def cp_from_workoutids(workoutids,debug=False):
|
||||
maxt = 1.05*df['time'].max()/1000.
|
||||
|
||||
logarr = datautils.getlogarr(maxt)
|
||||
data = []
|
||||
|
||||
delta,cpvalue,avgpower = datautils.getcp(dfgrouped,logarr)
|
||||
for id in workoutids:
|
||||
cpfile = 'media/cpdata_{id}.parquet.gz'.format(id=id)
|
||||
try:
|
||||
df = pd.read_parquet(cpfile)
|
||||
df['workout'] = str(id)
|
||||
data.append(df)
|
||||
except:
|
||||
pass # ignore for now
|
||||
|
||||
if len(data) == 0:
|
||||
return 0,0,0
|
||||
if len(data)>1:
|
||||
df = pd.concat(data,axis=0)
|
||||
|
||||
df = df[df['cp'] == df.groupby(['delta'])['cp'].transform('max')]
|
||||
df = df.sort_values(['delta']).reset_index()
|
||||
|
||||
powerdf = pd.DataFrame({
|
||||
'Delta':delta,
|
||||
'CP':cpvalue,
|
||||
'Delta':df['delta'],
|
||||
'CP':df['cp'],
|
||||
})
|
||||
|
||||
powerdf = powerdf[powerdf['CP']>0]
|
||||
|
||||
@@ -1505,9 +1505,11 @@ def fitnessmetric_view(request,userid=0,mode='rower',
|
||||
|
||||
fitnessmetrics = PowerTimeFitnessMetric.objects.filter(
|
||||
user=theuser,
|
||||
workoutmode=mode,
|
||||
date__gte=startdate,
|
||||
date__lte=enddate)
|
||||
|
||||
|
||||
script,thediv = fitnessmetric_chart(
|
||||
fitnessmetrics,theuser,
|
||||
workoutmode=mode,startdate=startdate,
|
||||
|
||||
Reference in New Issue
Block a user