Private
Public Access
1
0

half way through doing course_adherence

This commit is contained in:
Sander Roosendaal
2018-02-21 17:23:53 +01:00
parent 95a2fb86ae
commit 0c00fb164f
5 changed files with 102 additions and 9 deletions

View File

@@ -24,6 +24,7 @@ from rowers.models import (
import metrics
import numpy as np
import dataprep
import courses
# Low Level functions - to be called by higher level methods
def add_workouts_plannedsession(ws,ps,r):
@@ -47,7 +48,7 @@ def add_workouts_plannedsession(ws,ps,r):
ids = [w.id for w in wold] + [w.id for w in ws]
ids = list(set(ids))
if len(ids)>1 and ps.sessiontype == 'test':
if len(ids)>1 and ps.sessiontype in ['test','coursetest']:
errors.append('For tests, you can only attach one workout')
return result,comments,errors
@@ -233,8 +234,36 @@ def is_session_complete_ws(ws,ps):
else:
if not completiondate:
completiondate = ws.reverse()[0].date
return ratio,'partial',completiondate
return ratio,'partial',completiondate
elif ps.sessiontype == 'coursetest':
if ps.course:
coursetime,coursecompleted = courses.get_time_course(ws,ps.course)
if coursecompleted:
return 1.0,'completed',completiondate
else:
return ratio,'partial',completiondate
else:
if ps.criterium == 'exact':
if ratio == 1.0:
return ratio,'completed',completiondate
else:
if not completiondate:
completiondate = ws.reverse()[0].date
return ratio,'partial',completiondate
elif ps.criterium == 'minimum':
if ratio >= 1.0:
return ratio,'completed',completiondate
else:
if not completiondate:
completiondate = ws.reverse()[0].date
return ratio,'partial',completiondate
else:
if ratio>cratiomin and ratio<cratiomax:
return ratio,'completed',completiondate
else:
return ratio,'partial',completiondate
else:
if not completiondate:
completiondate = ws.reverse()[0].date