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:
|
||||
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)
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user