From 90f022f690429937f9e23b30d53fbb32db197e61 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sat, 15 Sep 2018 16:07:19 +0200 Subject: [PATCH] fixed bug in race check --- rowers/courseutils.py | 2 +- rowers/plannedsessions.py | 1 + rowers/tasks.py | 8 +++++--- rowers/templates/plannedsessionview.html | 2 ++ rowers/views.py | 8 ++++++-- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/rowers/courseutils.py b/rowers/courseutils.py index 75130af5..2ce31fb3 100644 --- a/rowers/courseutils.py +++ b/rowers/courseutils.py @@ -95,5 +95,5 @@ def coursetime_paths(data,paths,finalmaxmin='min'): entrytime = data['time'].max() entrydistance = data['cum_dist'].max() coursecompleted = False - + return entrytime, entrydistance, coursecompleted diff --git a/rowers/plannedsessions.py b/rowers/plannedsessions.py index bec7cc52..d9534de4 100644 --- a/rowers/plannedsessions.py +++ b/rowers/plannedsessions.py @@ -317,6 +317,7 @@ def is_session_complete_ws(ws,ps): record = CourseTestResult( userid=ws[0].user.id, plannedsession=ps, + workoutid=ws[0].id, duration=dt.time(0,0), coursecompleted=False, ) diff --git a/rowers/tasks.py b/rowers/tasks.py index 1581d28c..72f278e8 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -255,7 +255,7 @@ def handle_check_race_course(self, rowdata.rename(columns = { ' latitude':'latitude', ' longitude':'longitude', - ' ElapsedTime (sec)': 'time', + 'TimeStamp (sec)': 'time', }, inplace=True) rowdata.fillna(method='backfill',inplace=True) @@ -299,9 +299,9 @@ def handle_check_race_course(self, cseconds = [] cmeters = [] ccomplete = [] - + for startt in entrytimes: - + rowdata2 = rowdata[rowdata['time']>(startt-10.)] ( @@ -322,6 +322,7 @@ def handle_check_race_course(self, coursetimeseconds = coursetimeseconds-coursetimefirst coursemeters = coursemeters-coursemetersfirst + cseconds.append(coursetimeseconds) cmeters.append(coursemeters) ccomplete.append(coursecompleted) @@ -335,6 +336,7 @@ def handle_check_race_course(self, records = records[records['coursecompleted'] == True] + if len(records): coursecompleted = True mintime = records['coursetimeseconds'].min() diff --git a/rowers/templates/plannedsessionview.html b/rowers/templates/plannedsessionview.html index 8ace4c3a..34df6972 100644 --- a/rowers/templates/plannedsessionview.html +++ b/rowers/templates/plannedsessionview.html @@ -65,6 +65,7 @@ {% for result in ranking %} + {% if result|lookup:'coursecompleted' %} {{ forloop.counter }} {{ result|lookup:'name' }} @@ -73,6 +74,7 @@ {{ result|lookup:'date'|date:"Y-m-d" }} {{ result|lookup:'type' }} + {% endif %} {% endfor %} diff --git a/rowers/views.py b/rowers/views.py index c150cd9e..d53ff3c6 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -13418,6 +13418,7 @@ def plannedsession_view(request,id=0,rowerid=0, 'distance': w.distance, 'time': dddelta, 'type': w.workouttype, + 'coursecompleted':True, } if ps.sessiontype == 'coursetest': vs = CourseTestResult.objects.filter(plannedsession=ps, @@ -13436,12 +13437,13 @@ def plannedsession_view(request,id=0,rowerid=0, microseconds=t.microsecond ) wdict['distance'] = int(round(coursemeters)) + wdict['coursecompleted'] = coursecompleted else: record = CourseTestResult( userid=w.user.id, workoutid=w.id, plannedsession=ps, - duration=dt.time(0,0), + duration=w.duration, coursecompleted=False, ) record.save() @@ -13452,8 +13454,10 @@ def plannedsession_view(request,id=0,rowerid=0, intsecs = 0 microsecs = 0 - wdict['time'] = record.duration + # taking workout duration plus 1 minute penalty + wdict['time'] = w.duration wdict['distance'] = ps.course.distance + wdict['coursecompleted'] = False ranking.append(wdict)