Private
Public Access
1
0

bug fixes and adding data download

This commit is contained in:
Sander Roosendaal
2020-12-07 22:06:04 +01:00
parent 5df1a2272a
commit 98a62e6019
2 changed files with 29 additions and 5 deletions

View File

@@ -8,6 +8,7 @@ from __future__ import unicode_literals
from __future__ import unicode_literals, absolute_import
from rowers.models import (
Workout, Team, CalcAgePerformance,C2WorldClassAgePerformance,
User
)
import pytz
@@ -325,7 +326,9 @@ def workout_summary_to_df(
startdate=datetime.datetime(1970,1,1),
enddate=timezone.now()+timezone.timedelta(days=1)):
ws = Workout.objects.filter(user=rower).order_by("startdatetime")
ws = Workout.objects.filter(
user=rower,date__gte=startdate,date__lte=enddate
).order_by("startdatetime")
types = []
names = []
@@ -339,6 +342,9 @@ def workout_summary_to_df(
notes = []
tcx_links = []
csv_links = []
workout_links = []
goldstandards = []
goldstandarddurations = []
rscores = []
trimps = []
@@ -361,12 +367,20 @@ def workout_summary_to_df(
id=encoder.encode_hex(w.id)
)
csv_links.append(csv_link)
workout_link = SITE_URL+'/rowers/workout/{id}/'.format(
id=encoder.encode_hex(w.id)
)
workout_links.append(workout_link)
trimps.append(workout_trimp(w)[0])
rscore = workout_rscore(w)
rscores.append(int(rscore[0]))
goldstandard,goldstandardduration = workout_goldmedalstandard(w)
goldstandards.append(int(goldstandard))
goldstandarddurations.append(int(goldstandardduration))
df = pd.DataFrame({
'name':names,
'link':workout_links,
'date':startdatetimes,
'timezone':timezones,
'type':types,
@@ -380,6 +394,8 @@ def workout_summary_to_df(
'Stroke Data CSV':csv_links,
'TRIMP Training Load':trimps,
'TSS Training Load':rscores,
'GS':goldstandards,
'GS_secs':goldstandarddurations,
})
return df
@@ -1026,6 +1042,14 @@ from rowers.datautils import p0
from rowers.utils import calculate_age
from scipy import optimize
def get_workoutsummaries(userid,startdate):
u = User.objects.get(id=userid)
r = u.rower
df = workout_summary_to_df(r,startdate=startdate)
df = df.sort_values('date')
return df
def workout_goldmedalstandard(workout):
if workout.goldmedalstandard > 0:
return workout.goldmedalstandard,workout.goldmedalseconds