Merge branch 'feature/goldmedals' into develop
This commit is contained in:
@@ -1111,6 +1111,8 @@ def calculate_goldmedalstandard(rower,workout,recurrance=True):
|
|||||||
|
|
||||||
if df.empty and recurrance:
|
if df.empty and recurrance:
|
||||||
df, delta, cpvalues = setcp(workout,recurrance=False)
|
df, delta, cpvalues = setcp(workout,recurrance=False)
|
||||||
|
if df.empty:
|
||||||
|
return 0,0
|
||||||
|
|
||||||
age = calculate_age(rower.birthdate,today=workout.date)
|
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)
|
filename = 'media/cpdata_{id}.parquet.gz'.format(id=workout.id)
|
||||||
|
|
||||||
strokesdf = getsmallrowdata_db(['power','workoutid','time'],ids = [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:
|
if background:
|
||||||
job = myqueue(queuelow,handle_setcp,strokesdf,filename,workout.id)
|
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:
|
if not strokesdf.empty:
|
||||||
@@ -1492,7 +1500,6 @@ def checkduplicates(r,workoutdate,workoutstartdatetime,workoutenddatetime):
|
|||||||
t = ww.duration
|
t = ww.duration
|
||||||
delta = datetime.timedelta(hours=t.hour, minutes=t.minute, seconds=t.second)
|
delta = datetime.timedelta(hours=t.hour, minutes=t.minute, seconds=t.second)
|
||||||
enddatetime = ww.startdatetime+delta
|
enddatetime = ww.startdatetime+delta
|
||||||
print(enddatetime,workoutstartdatetime)
|
|
||||||
if enddatetime > workoutstartdatetime:
|
if enddatetime > workoutstartdatetime:
|
||||||
ws2.append(ww)
|
ws2.append(ww)
|
||||||
|
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ def build_goldmedalstandards(workouts,kfitness):
|
|||||||
else:
|
else:
|
||||||
goldmedalstandards.append(0)
|
goldmedalstandards.append(0)
|
||||||
goldmedaldurations.append(0)
|
goldmedaldurations.append(0)
|
||||||
workoutdt.append(arrow.get(w.startdatetime).datetime)
|
workoutdt.append(arrow.get(w.date).datetime)
|
||||||
|
|
||||||
df = pd.DataFrame({
|
df = pd.DataFrame({
|
||||||
'workout':ids,
|
'workout':ids,
|
||||||
@@ -180,8 +180,6 @@ def build_goldmedalstandards(workouts,kfitness):
|
|||||||
'goldmedalduration':goldmedaldurations,
|
'goldmedalduration':goldmedaldurations,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
df.sort_values(['workoutdt'],inplace=True)
|
df.sort_values(['workoutdt'],inplace=True)
|
||||||
|
|
||||||
#for id, row in df.iterrows():
|
#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),
|
ids = [w.id for w in workouts.filter(date__gte=w.date-datetime.timedelta(days=90),
|
||||||
date__lte=w.date)]
|
date__lte=w.date)]
|
||||||
|
|
||||||
|
|
||||||
powerdf = df[df['workout'].isin(ids)]
|
powerdf = df[df['workout'].isin(ids)]
|
||||||
indexmax = powerdf['goldmedalstandard'].idxmax()
|
indexmax = powerdf['goldmedalstandard'].idxmax()
|
||||||
theid = powerdf.loc[indexmax,'workout']
|
theid = powerdf.loc[indexmax,'workout']
|
||||||
@@ -1837,6 +1836,7 @@ def goldmedalscorechart(user,startdate=None,enddate=None):
|
|||||||
mask = df['testpower'].isnull()
|
mask = df['testpower'].isnull()
|
||||||
dates = df.mask(mask)['date'].dropna().values
|
dates = df.mask(mask)['date'].dropna().values
|
||||||
testpower = df.mask(mask)['testpower'].dropna().values
|
testpower = df.mask(mask)['testpower'].dropna().values
|
||||||
|
ids = df.mask(mask)['id'].dropna().values
|
||||||
|
|
||||||
outids = df.mask(mask)['id'].dropna().unique()
|
outids = df.mask(mask)['id'].dropna().unique()
|
||||||
|
|
||||||
@@ -1854,8 +1854,11 @@ def goldmedalscorechart(user,startdate=None,enddate=None):
|
|||||||
previous = 0
|
previous = 0
|
||||||
|
|
||||||
for i in range(len(dates)):
|
for i in range(len(dates)):
|
||||||
|
id = ids[i]
|
||||||
|
w = Workout.objects.get(id=id)
|
||||||
dd = str(dates[i])
|
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])
|
markerscore.append(testpower[i])
|
||||||
markerduration.append(testduration[i])
|
markerduration.append(testduration[i])
|
||||||
score.append(np.nan)
|
score.append(np.nan)
|
||||||
@@ -1875,6 +1878,7 @@ def goldmedalscorechart(user,startdate=None,enddate=None):
|
|||||||
markerduration.append(np.nan)
|
markerduration.append(np.nan)
|
||||||
duration.append(np.nan)
|
duration.append(np.nan)
|
||||||
|
|
||||||
|
|
||||||
df = pd.DataFrame({
|
df = pd.DataFrame({
|
||||||
'markerscore':markerscore,
|
'markerscore':markerscore,
|
||||||
'markerduration':markerduration,
|
'markerduration':markerduration,
|
||||||
|
|||||||
Reference in New Issue
Block a user