non functional mockup stage
This commit is contained in:
@@ -11,72 +11,7 @@ from django.contrib.gis.geoip2 import GeoIP2
|
||||
from django import forms
|
||||
from rowers.plannedsessions import timefield_to_seconds_duration
|
||||
|
||||
# distance of course from lat_lon in km
|
||||
def howfaris(lat_lon,course):
|
||||
coords = course.coord
|
||||
distance = geo_distance(lat_lon[0],lat_lon[1],coords[0],coords[1])[0]
|
||||
|
||||
return distance
|
||||
|
||||
whatisnear = 150
|
||||
|
||||
# get nearest races
|
||||
def getnearestraces(lat_lon,races):
|
||||
newlist = []
|
||||
counter = 0
|
||||
for race in races:
|
||||
if race.course is None: # pragma: no cover
|
||||
newlist.append(race)
|
||||
else:
|
||||
c = race.course
|
||||
coords = c.coord
|
||||
distance = howfaris(lat_lon,c)
|
||||
if distance < whatisnear:
|
||||
newlist.append(race)
|
||||
counter += 1
|
||||
|
||||
if counter>0:
|
||||
races = newlist
|
||||
else:
|
||||
courseraces = races.exclude(course__isnull=True)
|
||||
orders = [(c.id,howfaris(lat_lon,c.course)) for c in courseraces]
|
||||
orders = sorted(orders,key = lambda tup:tup[1])
|
||||
ids = [id for id,distance in orders[0:4]]
|
||||
for id, distance in orders[5:]: # pragma: no cover
|
||||
if distance<whatisnear:
|
||||
ids.append(id)
|
||||
|
||||
for id in ids:
|
||||
newlist.append(VirtualRace.objects.get(id=id))
|
||||
races = newlist
|
||||
|
||||
return races
|
||||
|
||||
def getnearestcourses(lat_lon,courses):
|
||||
newlist = []
|
||||
counter = 0
|
||||
for c in courses:
|
||||
coords = c.coord
|
||||
distance = howfaris(lat_lon,c)
|
||||
if distance < whatisnear:
|
||||
newlist.append(c)
|
||||
counter += 1
|
||||
|
||||
if counter>0:
|
||||
courses = newlist
|
||||
else:
|
||||
orders = [(c.id,howfaris(lat_lon,c)) for c in courses]
|
||||
orders = sorted(orders,key = lambda tup:tup[1])
|
||||
ids = [id for id,distance in orders[0:4]]
|
||||
for id, distance in orders[5:]:
|
||||
if distance<whatisnear: # pragma: no cover
|
||||
ids.append(id)
|
||||
|
||||
for id in ids:
|
||||
newlist.append(GeoCourse.objects.get(id=id))
|
||||
courses = newlist
|
||||
|
||||
return courses
|
||||
from rowers.courses import getnearestraces, getnearestcourses
|
||||
|
||||
# List Courses
|
||||
def courses_view(request):
|
||||
|
||||
@@ -19,6 +19,7 @@ from urllib.parse import urlparse, parse_qs
|
||||
from json.decoder import JSONDecodeError
|
||||
|
||||
import ruptures as rpt
|
||||
from rowers.courses import getnearestraces, getnearestcourses
|
||||
|
||||
def default(o): # pragma: no cover
|
||||
if isinstance(o, numpy.int64): return int(o)
|
||||
@@ -6157,7 +6158,13 @@ def workout_summary_edit_view(request,id,message="",successmessage=""
|
||||
data['selector'] = 'pace'
|
||||
powerorpace = 'pace'
|
||||
|
||||
|
||||
# looking for courses
|
||||
courses = []
|
||||
courseselectform = CourseSelectForm()
|
||||
has_latlon,lat_mean,lon_mean = dataprep.workout_has_latlon(row.id)
|
||||
if has_latlon:
|
||||
courses = getnearestcourses([lat_mean,lon_mean],GeoCourse.objects.all(),whatisnear=25)
|
||||
courseselectform = CourseSelectForm(choices=courses)
|
||||
|
||||
powerupdateform = PowerIntervalUpdateForm(initial=data)
|
||||
|
||||
@@ -6490,6 +6497,8 @@ def workout_summary_edit_view(request,id,message="",successmessage=""
|
||||
'intervalstring':s,
|
||||
'savebutton':savebutton,
|
||||
'formvalues':formvalues,
|
||||
'courses':courses,
|
||||
'courseselectform':courseselectform,
|
||||
})
|
||||
|
||||
class VideoDelete(DeleteView):
|
||||
|
||||
Reference in New Issue
Block a user