Private
Public Access
1
0

fixed power time fitness chart

This commit is contained in:
Sander Roosendaal
2020-11-23 18:44:07 +01:00
parent f1f9f50167
commit 3b490ea51e
5 changed files with 29 additions and 10 deletions

View File

@@ -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()

View File

@@ -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,

View File

@@ -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,

View File

@@ -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]

View File

@@ -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,