diff --git a/rowers/models.py b/rowers/models.py index c69a1c34..f0659bf1 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -2926,6 +2926,9 @@ class VirtualRaceResult(models.Model): emailnotifications = models.BooleanField(default=True, verbose_name = 'Receive challenge notifications by email') + startsecond = models.FloatField(default=0) + endsecond = models.FloatField(default=0) + def __str__(self): rr = Rower.objects.get(id=self.userid) name = '{u1} {u2}'.format( diff --git a/rowers/tasks.py b/rowers/tasks.py index f46caa62..71eca7bb 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -425,6 +425,8 @@ def handle_check_race_course(self, cseconds = [] cmeters = [] ccomplete = [] + startseconds = [] + endseconds = [] for startt in entrytimes: @@ -445,19 +447,23 @@ def handle_check_race_course(self, - coursetimeseconds = coursetimeseconds-coursetimefirst + coursetimesecondsnet = coursetimeseconds-coursetimefirst coursemeters = coursemeters-coursemetersfirst - cseconds.append(coursetimeseconds) + cseconds.append(coursetimesecondsnet) cmeters.append(coursemeters) ccomplete.append(coursecompleted) + endseconds.append(coursetimeseconds) + startseconds.append(coursetimefirst) records = pd.DataFrame({ 'coursetimeseconds':cseconds, 'coursecompleted': ccomplete, - 'coursemeters': cmeters + 'coursemeters': cmeters, + 'startsecond':startseconds, + 'endsecond':endseconds, }) records = records[records['coursecompleted'] == True] @@ -468,24 +474,30 @@ def handle_check_race_course(self, mintime = records['coursetimeseconds'].min() coursetimeseconds = records[records['coursetimeseconds'] == mintime]['coursetimeseconds'].min() coursemeters = records[records['coursetimeseconds'] == mintime]['coursemeters'].min() + startsecond = records[records['coursetimeseconds'] == mintime]['startsecond'].min() + endsecond = records[records['coursetimeseconds'] == mintime]['endsecond'].min() else: coursecompleted = False if coursecompleted: - query = 'UPDATE rowers_virtualraceresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid} WHERE id={recordid}'.format( + query = 'UPDATE rowers_virtualraceresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond} WHERE id={recordid}'.format( recordid=recordid, duration=totaltime_sec_to_string(coursetimeseconds), distance=int(coursemeters), workoutid=workoutid, + startsecond=startsecond, + endsecond=endsecond, ) if mode == 'coursetest': - query = 'UPDATE rowers_coursetestresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid} WHERE id={recordid}'.format( + query = 'UPDATE rowers_coursetestresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond} WHERE id={recordid}'.format( recordid=recordid, duration=totaltime_sec_to_string(coursetimeseconds), distance=int(coursemeters), workoutid=workoutid, + startsecond=startsecond, + endsecond=endsecond, )