Private
Public Access
1
0

Merge branch 'feature/goldmedals' into develop

This commit is contained in:
Sander Roosendaal
2021-01-04 19:56:21 +01:00
2 changed files with 17 additions and 6 deletions

View File

@@ -1111,6 +1111,8 @@ def calculate_goldmedalstandard(rower,workout,recurrance=True):
if df.empty and recurrance:
df, delta, cpvalues = setcp(workout,recurrance=False)
if df.empty:
return 0,0
age = calculate_age(rower.birthdate,today=workout.date)
@@ -1209,9 +1211,15 @@ def setcp(workout,background=False,recurrance=True):
filename = 'media/cpdata_{id}.parquet.gz'.format(id=workout.id)
strokesdf = getsmallrowdata_db(['power','workoutid','time'],ids = [workout.id])
try:
if strokesdf['power'].std()==0:
return pd.DataFrame(),pd.Series(),pd.Series()
except KeyError:
return pd.DataFrame(),pd.Series(),pd.Series()
if background:
job = myqueue(queuelow,handle_setcp,strokesdf,filename,workout.id)
return job.id
return pd.DataFrame({'delta':[],'cp':[]}),pd.Series(),pd.Series()
if not strokesdf.empty:
@@ -1492,7 +1500,6 @@ def checkduplicates(r,workoutdate,workoutstartdatetime,workoutenddatetime):
t = ww.duration
delta = datetime.timedelta(hours=t.hour, minutes=t.minute, seconds=t.second)
enddatetime = ww.startdatetime+delta
print(enddatetime,workoutstartdatetime)
if enddatetime > workoutstartdatetime:
ws2.append(ww)

View File

@@ -171,7 +171,7 @@ def build_goldmedalstandards(workouts,kfitness):
else:
goldmedalstandards.append(0)
goldmedaldurations.append(0)
workoutdt.append(arrow.get(w.startdatetime).datetime)
workoutdt.append(arrow.get(w.date).datetime)
df = pd.DataFrame({
'workout':ids,
@@ -180,8 +180,6 @@ def build_goldmedalstandards(workouts,kfitness):
'goldmedalduration':goldmedaldurations,
})
df.sort_values(['workoutdt'],inplace=True)
#for id, row in df.iterrows():
@@ -203,6 +201,7 @@ def build_goldmedalstandards(workouts,kfitness):
ids = [w.id for w in workouts.filter(date__gte=w.date-datetime.timedelta(days=90),
date__lte=w.date)]
powerdf = df[df['workout'].isin(ids)]
indexmax = powerdf['goldmedalstandard'].idxmax()
theid = powerdf.loc[indexmax,'workout']
@@ -1837,6 +1836,7 @@ def goldmedalscorechart(user,startdate=None,enddate=None):
mask = df['testpower'].isnull()
dates = df.mask(mask)['date'].dropna().values
testpower = df.mask(mask)['testpower'].dropna().values
ids = df.mask(mask)['id'].dropna().values
outids = df.mask(mask)['id'].dropna().unique()
@@ -1854,8 +1854,11 @@ def goldmedalscorechart(user,startdate=None,enddate=None):
previous = 0
for i in range(len(dates)):
id = ids[i]
w = Workout.objects.get(id=id)
dd = str(dates[i])
td.append(arrow.get(dd).datetime)
#td.append(arrow.get(dd).datetime)
td.append(arrow.get(w.date).datetime)
markerscore.append(testpower[i])
markerduration.append(testduration[i])
score.append(np.nan)
@@ -1875,6 +1878,7 @@ def goldmedalscorechart(user,startdate=None,enddate=None):
markerduration.append(np.nan)
duration.append(np.nan)
df = pd.DataFrame({
'markerscore':markerscore,
'markerduration':markerduration,