tests creating editing and deleting courses
This commit is contained in:
@@ -77,7 +77,8 @@ class AsyncTaskTests(TestCase):
|
||||
|
||||
@patch('rowers.tasks.requests.get',side_effect=mocked_requests)
|
||||
@patch('rowers.tasks.requests.post',side_effect=mocked_requests)
|
||||
def test_fetch_strava_workout(self, mock_get, mock_post):
|
||||
@patch('rowers.tasks.requests.session',side_effect=mocked_requests)
|
||||
def test_fetch_strava_workout(self, mock_get, mock_post, mock_Session):
|
||||
res = tasks.fetch_strava_workout('aap',None,12,'rowers/tests/testdata/temp/tesmp.csv',
|
||||
self.u.id)
|
||||
self.assertEqual(res,1)
|
||||
|
||||
212
rowers/tests/test_races.py
Normal file
212
rowers/tests/test_races.py
Normal file
@@ -0,0 +1,212 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
#from __future__ import print_function
|
||||
from .statements import *
|
||||
nu = datetime.datetime.now()
|
||||
|
||||
from rowers.utils import allmonths,allsundays
|
||||
|
||||
import rowers.plannedsessions as plannedsessions
|
||||
import rowers.courses as courses
|
||||
from rowers.views.racesviews import *
|
||||
|
||||
@override_settings(TESTING=True)
|
||||
class ChallengesTest(TestCase):
|
||||
def setUp(self):
|
||||
self.u = UserFactory()
|
||||
|
||||
self.r = Rower.objects.create(user=self.u,
|
||||
birthdate=faker.profile()['birthdate'],
|
||||
gdproptin=True,surveydone=True,
|
||||
gdproptindate=timezone.now(),
|
||||
rowerplan='coach')
|
||||
|
||||
self.c = Client()
|
||||
self.user_workouts = WorkoutFactory.create_batch(5, user=self.r)
|
||||
self.factory = RequestFactory()
|
||||
self.password = faker.word()
|
||||
self.u.set_password(self.password)
|
||||
self.u.save()
|
||||
|
||||
cs = courses.kmltocourse('rowers/tests/testdata/thyro.kml')
|
||||
course = cs[0]
|
||||
cname = course['name']
|
||||
cnotes = course['description']
|
||||
polygons = course['polygons']
|
||||
self.ThyroBaantje = courses.createcourse(self.r,cname,polygons,notes=cnotes)
|
||||
self.ThyroBaantje.save()
|
||||
|
||||
id = save_scoring('Standard Scoring',self.u,'rowers/tests/testdata/coursestandard.csv',id=0)
|
||||
self.Scoring = StandardCollection.objects.get(id=id)
|
||||
|
||||
result = get_random_file(filename='rowers/tests/testdata/thyro.csv')
|
||||
self.wthyro = WorkoutFactory(user=self.r,
|
||||
csvfilename=result['filename'],
|
||||
starttime=result['starttime'],
|
||||
startdatetime=result['startdatetime'],
|
||||
duration=result['duration'],
|
||||
distance=result['totaldist'],
|
||||
workouttype = 'water',
|
||||
)
|
||||
|
||||
startdate = arrow.get(datetime.datetime.now()-datetime.timedelta(days=1)).datetime
|
||||
start_time = datetime.time()
|
||||
enddate = startdate+datetime.timedelta(days=5)
|
||||
end_time = start_time
|
||||
evaluation_closure = startdate+datetime.timedelta(days=6)
|
||||
registration_closure = evaluation_closure
|
||||
contact_phone = '06342323'
|
||||
contact_email = 'roosendaalsander@gmail.com'
|
||||
|
||||
timezone_str = 'UTC'
|
||||
|
||||
self.SpeedOrder = VirtualRace(
|
||||
name='Thyro Speed Order',
|
||||
startdate=startdate,
|
||||
preferreddate = startdate,
|
||||
start_time = start_time,
|
||||
enddate=enddate,
|
||||
end_time=end_time,
|
||||
course=self.ThyroBaantje,
|
||||
comment='',
|
||||
sessiontype = 'race',
|
||||
timezone=timezone_str,
|
||||
evaluation_closure=evaluation_closure,
|
||||
registration_closure=registration_closure,
|
||||
contact_phone=contact_phone,
|
||||
coursestandards=self.Scoring,
|
||||
contact_email=contact_email,
|
||||
country = 'Netherlands',
|
||||
manager=self.u,
|
||||
)
|
||||
self.SpeedOrder.save()
|
||||
|
||||
|
||||
def tearDown(self):
|
||||
for workout in self.user_workouts:
|
||||
try:
|
||||
os.remove(workout.csvfilename)
|
||||
except (IOError, FileNotFoundError,OSError):
|
||||
pass
|
||||
|
||||
def test_distance(self):
|
||||
lat_lon = (52.214229145558484, 6.890036546847821)
|
||||
distance = howfaris(lat_lon,self.ThyroBaantje)
|
||||
self.assertEqual(distance,3.156402768718697)
|
||||
|
||||
def test_getnearestraces(self):
|
||||
lat_lon = (52.214229145558484, 6.890036546847821)
|
||||
races = VirtualRace.objects.all()
|
||||
traces = getnearestraces(lat_lon,races)
|
||||
self.assertEqual(len(traces),1)
|
||||
|
||||
def test_getnearestcourses(self):
|
||||
lat_lon = (52.214229145558484, 6.890036546847821)
|
||||
courses = [self.ThyroBaantje]
|
||||
tcourses = getnearestcourses(lat_lon,courses)
|
||||
self.assertEqual(len(tcourses),1)
|
||||
|
||||
def test_courses_view(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = reverse('courses_view')
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
def test_standards_view(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = reverse('standards_view')
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
def test_coursemap_view(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
url = reverse('course_map_view',kwargs={'id':self.ThyroBaantje.id})
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
def test_course_create_edit_delete(self):
|
||||
login = self.c.login(username=self.u.username, password=self.password)
|
||||
self.assertTrue(login)
|
||||
|
||||
# Create
|
||||
url = reverse('course_upload_view')
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
|
||||
filename = 'rowers/tests/testdata/alphen.kml'
|
||||
f = open(filename,'r')
|
||||
|
||||
file_data = {'file': f}
|
||||
form_data = {
|
||||
'name':'Alphen',
|
||||
'notes': 'aa',
|
||||
'country': 'Netherlands',
|
||||
'file':f,
|
||||
}
|
||||
|
||||
form = CourseForm(form_data,file_data)
|
||||
response = self.c.post(url,form_data,follow=True)
|
||||
f.close()
|
||||
|
||||
expected_url = reverse('courses_view')
|
||||
|
||||
self.assertRedirects(response, expected_url=expected_url,
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
courses = GeoCourse.objects.all()
|
||||
|
||||
self.assertEqual(len(courses),2)
|
||||
|
||||
Alphen = GeoCourse.objects.get(id=2)
|
||||
|
||||
# edit
|
||||
url = reverse('course_edit_view',kwargs={'id':Alphen.id})
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
form_data = {
|
||||
'name':'Alphen',
|
||||
'country': 'NL',
|
||||
'notes': 'bb'
|
||||
}
|
||||
|
||||
form = GeoCourseEditForm(form_data)
|
||||
self.assertTrue(form.is_valid())
|
||||
|
||||
response = self.c.post(url,form_data)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
# check
|
||||
url = reverse('course_view',kwargs={'id':Alphen.id})
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
|
||||
# (ToDO Upload new kml)
|
||||
|
||||
# KML Download
|
||||
url = reverse('course_kmldownload_view',kwargs={'id':Alphen.id})
|
||||
response = self.c.get(url)
|
||||
self.assertEqual(response.status_code,200)
|
||||
|
||||
# delete
|
||||
url = reverse('course_delete_view',kwargs={'id':Alphen.id})
|
||||
response = self.c.get(url,follow=True)
|
||||
expected_url = reverse('courses_view')
|
||||
|
||||
self.assertRedirects(response, expected_url=expected_url,
|
||||
status_code=302,target_status_code=200)
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
178
rowers/tests/testdata/alphen.kml
vendored
Normal file
178
rowers/tests/testdata/alphen.kml
vendored
Normal file
@@ -0,0 +1,178 @@
|
||||
<?xml version="1.0" ?>
|
||||
<kml xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.google.com/kml/ext/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://www.opengis.net/kml/2.2">
|
||||
<Document>
|
||||
<name>Courses.kml</name>
|
||||
<Folder>
|
||||
<name>Courses</name>
|
||||
<Folder>
|
||||
<name>Alphen - Alphen aan den Rijn</name>
|
||||
<open>1</open>
|
||||
<Placemark>
|
||||
<name>Start</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.704149601313898,52.14611068342334,0 4.704648516706039,52.14606840788696,0 4.704642182077736,52.14626893773362,0 4.704151599747837,52.14628828501986,0 4.704149601313898,52.14611068342334,0 4.704149601313898,52.14611068342334,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 1</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.704040567073562,52.14772365703576,0 4.704544185247905,52.14767250842382,0 4.704570221164488,52.14791407188889,0 4.704130359234369,52.14797079566858,0 4.704040567073562,52.14772365703576,0 4.704040567073562,52.14772365703576,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 2</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.707120374629225,52.15459940303027,0 4.707573702026327,52.15460568431943,0 4.70761596147063,52.15486728249238,0 4.707159504658982,52.15489881627455,0 4.707120374629225,52.15459940303027,0 4.707120374629225,52.15459940303027,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 3</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.709028668490356,52.1646474322453,0 4.70984931790314,52.16449178436365,0 4.709978566943311,52.16488586779201,0 4.709244456319242,52.16499245615274,0 4.709028668490356,52.1646474322453,0 4.709028668490356,52.1646474322453,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 4</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.718138359290078,52.17865355742074,0 4.718653235056161,52.17830639665007,0 4.719134204848634,52.17862031168055,0 4.71867160984541,52.17894003397144,0 4.718138359290078,52.17865355742074,0 4.718138359290078,52.17865355742074,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 5</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.727641648412835,52.18284846695732,0 4.728273789904367,52.18251973845241,0 4.728577606945771,52.1827641768111,0 4.7279847617705,52.1830837392454,0 4.727641648412835,52.18284846695732,0 4.727641648412835,52.18284846695732,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 6</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.738716857017891,52.19396028458393,0 4.739294818571407,52.19389560588872,0 4.739411118817641,52.19428660874426,0 4.738864571028594,52.19431307372239,0 4.738716857017891,52.19396028458393,0 4.738716857017891,52.19396028458393,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 7</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.734183821236371,52.20620514880871,0 4.734924962205387,52.20637199686158,0 4.734802543714663,52.20688025274802,0 4.733601274999542,52.20663721340052,0 4.734183821236371,52.20620514880871,0 4.734183821236371,52.20620514880871,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 8</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.738785303605908,52.19457123452171,0 4.739333350356509,52.19459196501802,0 4.739304304831564,52.19482691469288,0 4.73885420703549,52.19479878738656,0 4.738785303605908,52.19457123452171,0 4.738785303605908,52.19457123452171,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 9</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.728292586661338,52.18327969510192,0 4.728884338045631,52.18302182842039,0 4.729083849790216,52.1833152834237,0 4.728606271720666,52.18355598784883,0 4.728292586661338,52.18327969510192,0 4.728292586661338,52.18327969510192,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 10</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.717008631662971,52.17788756203277,0 4.717714777374475,52.17758571819474,0 4.718168595226933,52.17803093936305,0 4.717634575621297,52.17832999894938,0 4.717008631662971,52.17788756203277,0 4.717008631662971,52.17788756203277,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 11</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.708580146922809,52.16405851453961,0 4.709467162927956,52.16392338577828,0 4.709761923185198,52.16427786809471,0 4.708922971852094,52.16448915385681,0 4.708580146922809,52.16405851453961,0 4.708580146922809,52.16405851453961,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 12</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.70716800510311,52.15500418035832,0 4.707671825192278,52.15498496004398,0 4.707743878685751,52.15525628533189,0 4.707149393888881,52.1553218720998,0 4.70716800510311,52.15500418035832,0 4.70716800510311,52.15500418035832,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Gate 13</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.704140681716737,52.14813498986593,0 4.704864196194787,52.1479883822655,0 4.705153909432487,52.14838874308533,0 4.704223464041033,52.14854260247372,0 4.704140681716737,52.14813498986593,0 4.704140681716737,52.14813498986593,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Finish</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>4.70414987291546,52.1461319705247,0 4.704561170436561,52.14607111930849,0 4.704642182077736,52.14626893773362,0 4.70415735390207,52.14628831020436,0 4.70414987291546,52.1461319705247,0 4.70414987291546,52.1461319705247,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
</Folder>
|
||||
</Folder>
|
||||
</Document>
|
||||
</kml>
|
||||
199
rowers/tests/testdata/coursestandard.csv
vendored
Normal file
199
rowers/tests/testdata/coursestandard.csv
vendored
Normal file
@@ -0,0 +1,199 @@
|
||||
,id,name,coursedistance,coursetime,referencespeed,agemin,agemax,boatclass,boattype,sex,weightclass,adaptiveclass,skillclass,standardcollection_id
|
||||
0,333,MMasterC_2x,4000,14:59.6,4.44642063139173,43,120,water,2x,male,hwt,None,Open,3
|
||||
1,434,J1314_1x,4000,17:39.5,3.7753657385559225,12,14,water,1x,male,hwt,None,Open,3
|
||||
2,435,J1516_1x,4000,17:37.1,3.783937186642702,12,16,water,1x,male,hwt,None,Open,3
|
||||
3,436,J1718_1x,4000,16:47.4,3.9706174310105222,12,18,water,1x,male,hwt,None,Open,3
|
||||
4,437,MSenB_1x,4000,16:03.2,4.152823920265781,12,22,water,1x,male,hwt,None,Open,3
|
||||
5,438,MSenA_1x,4000,15:44.0,4.237288135593221,12,120,water,1x,male,hwt,None,Open,3
|
||||
6,439,MMasterA_1x,4000,16:03.2,4.152823920265781,27,120,water,1x,male,hwt,None,Open,3
|
||||
7,440,MMasterB_1x,4000,16:39.2,4.00320256204964,36,120,water,1x,male,hwt,None,Open,3
|
||||
8,441,MMasterC_1x,4000,17:21.6,3.840245775729647,43,120,water,1x,male,hwt,None,Open,3
|
||||
9,442,MMasterD_1x,4000,18:06.8,3.68052999631947,50,120,water,1x,male,hwt,None,Open,3
|
||||
10,443,MMasterE_1x,4000,18:55.0,3.5242290748898677,55,120,water,1x,male,hwt,None,Open,3
|
||||
11,444,MMasterF_1x,4000,19:57.1,3.341408403642135,60,120,water,1x,male,hwt,None,Open,3
|
||||
12,445,MMasterG_1x,4000,21:22.3,3.1193948374015443,65,120,water,1x,male,hwt,None,Open,3
|
||||
13,446,MMasterH_1x,4000,23:23.9,2.849205783887741,70,120,water,1x,male,hwt,None,Open,3
|
||||
14,447,MMasterI_1x,4000,26:32.2,2.512247205124984,75,120,water,1x,male,hwt,None,Open,3
|
||||
15,448,MMasterJ_1x,4000,30:21.0,2.196595277320154,80,120,water,1x,male,hwt,None,Open,3
|
||||
16,449,MMasterK_1x,4000,34:31.9,1.9305951059414064,83,120,water,1x,male,hwt,None,Open,3
|
||||
17,450,MMasterL_1x,4000,40:40.0,1.639344262295082,86,120,water,1x,male,hwt,None,Open,3
|
||||
18,451,MMasterM_1x,4000,49:59.5,1.3335555925987665,89,120,water,1x,male,hwt,None,Open,3
|
||||
19,452,M1314_1x,4000,19:37.1,3.398181972644635,12,14,water,1x,female,hwt,None,Open,3
|
||||
20,453,M1516_1x,4000,21:46.6,3.0613806826878927,12,16,water,1x,female,hwt,None,Open,3
|
||||
21,454,M1718_1x,4000,20:44.3,3.2146588443301454,12,18,water,1x,female,hwt,None,Open,3
|
||||
22,455,FSenB_1x,4000,19:49.1,3.3638886552855105,12,22,water,1x,female,hwt,None,Open,3
|
||||
23,456,FSenA_1x,4000,19:25.4,3.432297923459756,12,120,water,1x,female,hwt,None,Open,3
|
||||
24,457,FMasterA_1x,4000,19:49.1,3.3638886552855105,27,120,water,1x,female,hwt,None,Open,3
|
||||
25,458,FmasterB_1x,4000,20:33.0,3.2441200324412005,36,120,water,1x,female,hwt,None,Open,3
|
||||
26,459,FmasterC_1x,4000,21:25.3,3.1121139033688636,43,120,water,1x,female,hwt,None,Open,3
|
||||
27,460,FmasterD_1x,4000,22:24.3,2.975526296213643,50,120,water,1x,female,hwt,None,Open,3
|
||||
28,461,FmasterE_1x,4000,23:20.5,2.856122813280971,55,120,water,1x,female,hwt,None,Open,3
|
||||
29,462,FmasterF_1x,4000,24:38.7,2.705078785419625,60,120,water,1x,female,hwt,None,Open,3
|
||||
30,463,FmasterG_1x,4000,26:23.9,2.5254119578256202,65,120,water,1x,female,hwt,None,Open,3
|
||||
31,464,FmasterH_1x,4000,28:53.2,2.3078698361412417,70,120,water,1x,female,hwt,None,Open,3
|
||||
32,465,FmasterI_1x,4000,32:45.6,2.035002035002035,75,120,water,1x,female,hwt,None,Open,3
|
||||
33,466,FmasterJ_1x,4000,37:28.1,1.7792802811262844,80,120,water,1x,female,hwt,None,Open,3
|
||||
34,467,FmasterK_1x,4000,42:42.1,1.561219312282893,83,120,water,1x,female,hwt,None,Open,3
|
||||
35,468,FmasterL_1x,4000,50:10.2,1.3288153611055744,86,120,water,1x,female,hwt,None,Open,3
|
||||
36,469,FmasterM_1x,4000,01:41.6,39.37007874015748,89,120,water,1x,female,hwt,None,Open,3
|
||||
37,470,J1314_2-,4000,16:59.7,3.922722369324311,12,14,water,2-,male,hwt,None,Open,3
|
||||
38,471,J1516_2-,4000,16:19.2,4.084967320261438,12,16,water,2-,male,hwt,None,Open,3
|
||||
39,472,J1718_2-,4000,15:33.2,4.286326618088298,12,18,water,2-,male,hwt,None,Open,3
|
||||
40,473,MSenB_2-,4000,14:52.2,4.483299708585519,12,22,water,2-,male,hwt,None,Open,3
|
||||
41,474,MSenA_2-,4000,14:34.5,4.574042309891366,12,120,water,2-,male,hwt,None,Open,3
|
||||
42,475,MMasterA_2-,4000,14:52.2,4.483299708585519,27,120,water,2-,male,hwt,None,Open,3
|
||||
43,476,MMasterB_2-,4000,15:25.6,4.32152117545376,36,120,water,2-,male,hwt,None,Open,3
|
||||
44,477,MMasterC_2-,4000,16:04.9,4.1455073064566275,43,120,water,2-,male,hwt,None,Open,3
|
||||
45,478,MMasterD_2-,4000,16:46.7,3.9733783649548027,50,120,water,2-,male,hwt,None,Open,3
|
||||
46,479,MMasterE_2-,4000,17:31.4,3.804451207913258,55,120,water,2-,male,hwt,None,Open,3
|
||||
47,480,MMasterF_2-,4000,18:29.0,3.606853020739405,60,120,water,2-,male,hwt,None,Open,3
|
||||
48,481,MMasterG_2-,4000,19:47.9,3.367286808653927,65,120,water,2-,male,hwt,None,Open,3
|
||||
49,482,MMasterH_2-,4000,21:40.5,3.0757400999615534,70,120,water,2-,male,hwt,None,Open,3
|
||||
50,483,MMasterI_2-,4000,24:34.9,2.7120482744592853,75,120,water,2-,male,hwt,None,Open,3
|
||||
51,484,MMasterJ_2-,4000,28:06.8,2.3713540431586435,80,120,water,2-,male,hwt,None,Open,3
|
||||
52,485,MMasterK_2-,4000,31:59.3,2.0840931589642055,83,120,water,2-,male,hwt,None,Open,3
|
||||
53,486,MMasterL_2-,4000,37:40.3,1.7696765916028845,86,120,water,2-,male,hwt,None,Open,3
|
||||
54,487,MMasterM_2-,4000,46:18.5,1.4396256973186972,89,120,water,2-,male,hwt,None,Open,3
|
||||
55,488,M1314_2-,4000,18:52.9,3.530761761850119,12,14,water,2-,female,hwt,None,Open,3
|
||||
56,489,M1516_2-,4000,20:10.3,3.3049657109807486,12,16,water,2-,female,hwt,None,Open,3
|
||||
57,490,M1718_2-,4000,19:12.7,3.4701136462219138,12,18,water,2-,female,hwt,None,Open,3
|
||||
58,491,FSenB_2-,4000,18:21.5,3.631411711302769,12,22,water,2-,female,hwt,None,Open,3
|
||||
59,492,FSenA_2-,4000,17:59.6,3.7050759540570586,12,120,water,2-,female,hwt,None,Open,3
|
||||
60,493,FMasterA_2-,4000,18:21.5,3.631411711302769,27,120,water,2-,female,hwt,None,Open,3
|
||||
61,494,FmasterB_2-,4000,19:02.2,3.5020136578532655,36,120,water,2-,female,hwt,None,Open,3
|
||||
62,495,FmasterC_2-,4000,19:50.6,3.359650596337981,43,120,water,2-,female,hwt,None,Open,3
|
||||
63,496,FmasterD_2-,4000,20:45.2,3.2123353678123996,50,120,water,2-,female,hwt,None,Open,3
|
||||
64,497,FmasterE_2-,4000,21:37.3,3.0833269097356046,55,120,water,2-,female,hwt,None,Open,3
|
||||
65,498,FmasterF_2-,4000,22:49.8,2.9201343261790043,60,120,water,2-,female,hwt,None,Open,3
|
||||
66,499,FmasterG_2-,4000,24:27.3,2.726095549649015,65,120,water,2-,female,hwt,None,Open,3
|
||||
67,500,FmasterH_2-,4000,26:45.6,2.4912805181863478,70,120,water,2-,female,hwt,None,Open,3
|
||||
68,501,FmasterI_2-,4000,30:20.8,2.196836555360281,75,120,water,2-,female,hwt,None,Open,3
|
||||
69,502,FmasterJ_2-,4000,34:42.5,1.9207683073229291,80,120,water,2-,female,hwt,None,Open,3
|
||||
70,503,FmasterK_2-,4000,39:33.4,1.6853459172495153,83,120,water,2-,female,hwt,None,Open,3
|
||||
71,504,FmasterL_2-,4000,46:28.5,1.4344629729245113,86,120,water,2-,female,hwt,None,Open,3
|
||||
72,505,FmasterM_2-,4000,57:08.9,1.1665548718247833,89,120,water,2-,female,hwt,None,Open,3
|
||||
73,506,J1314_2x,4000,16:24.6,4.062563477554336,12,14,water,2x,male,hwt,None,Open,3
|
||||
74,507,J1516_2x,4000,15:13.0,4.381161007667032,12,16,water,2x,male,hwt,None,Open,3
|
||||
75,508,J1718_2x,4000,14:30.2,4.596644449551827,12,18,water,2x,male,hwt,None,Open,3
|
||||
76,509,MSenB_2x,4000,13:51.9,4.808270224786633,12,22,water,2x,male,hwt,None,Open,3
|
||||
77,510,MSenA_2x,4000,13:35.4,4.905567819475104,12,120,water,2x,male,hwt,None,Open,3
|
||||
78,511,MMasterA_2x,4000,13:51.9,4.808270224786633,27,120,water,2x,male,hwt,None,Open,3
|
||||
79,512,MMasterB_2x,4000,14:23.0,4.634994206257242,36,120,water,2x,male,hwt,None,Open,3
|
||||
80,513,MMasterD_2x,4000,15:38.7,4.26121231490359,50,120,water,2x,male,hwt,None,Open,3
|
||||
81,514,MMasterE_2x,4000,16:20.3,4.08038355605427,55,120,water,2x,male,hwt,None,Open,3
|
||||
82,515,MMasterF_2x,4000,17:14.0,3.8684719535783367,60,120,water,2x,male,hwt,None,Open,3
|
||||
83,516,MMasterG_2x,4000,18:27.6,3.6114120621162877,65,120,water,2x,male,hwt,None,Open,3
|
||||
84,517,MMasterH_2x,4000,20:12.6,3.298697014679202,70,120,water,2x,male,hwt,None,Open,3
|
||||
85,518,MMasterI_2x,4000,22:55.2,2.9086678301337985,75,120,water,2x,male,hwt,None,Open,3
|
||||
86,519,MMasterJ_2x,4000,26:12.8,2.5432349949135302,80,120,water,2x,male,hwt,None,Open,3
|
||||
87,520,MMasterK_2x,4000,29:49.5,2.235261246158145,83,120,water,2x,male,hwt,None,Open,3
|
||||
88,521,MMasterL_2x,4000,35:07.5,1.8979833926453145,86,120,water,2x,male,hwt,None,Open,3
|
||||
89,522,MMasterM_2x,4000,43:10.7,1.5439842513606363,89,120,water,2x,male,hwt,None,Open,3
|
||||
90,523,M1314_2x,4000,18:13.9,3.6566413748971565,12,14,water,2x,female,hwt,None,Open,3
|
||||
91,524,M1516_2x,4000,18:48.5,3.544528134692069,12,16,water,2x,female,hwt,None,Open,3
|
||||
92,525,M1718_2x,4000,17:54.8,3.721622627465575,12,18,water,2x,female,hwt,None,Open,3
|
||||
93,526,FSenB_2x,4000,17:07.0,3.8948393378773125,12,22,water,2x,female,hwt,None,Open,3
|
||||
94,527,FSenA_2x,4000,16:46.6,3.9737730975561294,12,120,water,2x,female,hwt,None,Open,3
|
||||
95,528,FMasterA_2x,4000,17:07.0,3.8948393378773125,27,120,water,2x,female,hwt,None,Open,3
|
||||
96,529,FmasterB_2x,4000,17:45.0,3.755868544600939,36,120,water,2x,female,hwt,None,Open,3
|
||||
97,530,FmasterC_2x,4000,18:30.2,3.6029544226265537,43,120,water,2x,female,hwt,None,Open,3
|
||||
98,531,FmasterD_2x,4000,19:21.1,3.4450090431487386,50,120,water,2x,female,hwt,None,Open,3
|
||||
99,532,FmasterE_2x,4000,20:09.7,3.3066049433743903,55,120,water,2x,female,hwt,None,Open,3
|
||||
100,533,FmasterF_2x,4000,21:17.2,3.1318509238960224,60,120,water,2x,female,hwt,None,Open,3
|
||||
101,534,FmasterG_2x,4000,22:48.1,2.9237628828302027,65,120,water,2x,female,hwt,None,Open,3
|
||||
102,535,FmasterH_2x,4000,24:57.0,2.6720106880427523,70,120,water,2x,female,hwt,None,Open,3
|
||||
103,536,FmasterI_2x,4000,28:17.8,2.3559901048415597,75,120,water,2x,female,hwt,None,Open,3
|
||||
104,537,FmasterJ_2x,4000,32:21.8,2.0599443815016993,80,120,water,2x,female,hwt,None,Open,3
|
||||
105,538,FmasterK_2x,4000,36:52.9,1.807582809887478,83,120,water,2x,female,hwt,None,Open,3
|
||||
106,539,FmasterL_2x,4000,43:20.0,1.5384615384615385,86,120,water,2x,female,hwt,None,Open,3
|
||||
107,540,FmasterM_2x,4000,53:17.2,1.2510947078693857,89,120,water,2x,female,hwt,None,Open,3
|
||||
108,541,J1314_C1x,4000,19:37.2,3.397893306150187,12,14,c-boat,1x,male,hwt,None,Open,3
|
||||
109,542,J1516_C1x,4000,21:45.0,3.0651340996168583,12,16,c-boat,1x,male,hwt,None,Open,3
|
||||
110,543,J1718_C1x,4000,20:43.8,3.2159511175430135,12,18,c-boat,1x,male,hwt,None,Open,3
|
||||
111,544,MSenB_C1x,4000,19:49.1,3.3638886552855105,12,22,c-boat,1x,male,hwt,None,Open,3
|
||||
112,545,MSenA_C1x,4000,19:25.4,3.432297923459756,12,120,c-boat,1x,male,hwt,None,Open,3
|
||||
113,546,MMasterA_C1x,4000,19:49.1,3.3638886552855105,27,120,c-boat,1x,male,hwt,None,Open,3
|
||||
114,547,MMasterB_C1x,4000,20:33.5,3.2428050263477908,36,120,c-boat,1x,male,hwt,None,Open,3
|
||||
115,548,MMasterC_C1x,4000,21:25.9,3.1106617932965235,43,120,c-boat,1x,male,hwt,None,Open,3
|
||||
116,549,MMasterD_C1x,4000,22:21.7,2.981292390251174,50,120,c-boat,1x,male,hwt,None,Open,3
|
||||
117,550,MMasterE_C1x,4000,23:21.2,2.8546959748786755,55,120,c-boat,1x,male,hwt,None,Open,3
|
||||
118,551,MMasterF_C1x,4000,24:38.0,2.706359945872801,60,120,c-boat,1x,male,hwt,None,Open,3
|
||||
119,552,MMasterG_C1x,4000,26:23.1,2.5266881435158868,65,120,c-boat,1x,male,hwt,None,Open,3
|
||||
120,553,MMasterH_C1x,4000,28:53.2,2.3078698361412417,70,120,c-boat,1x,male,hwt,None,Open,3
|
||||
121,554,MMasterI_C1x,4000,32:45.6,2.035002035002035,75,120,c-boat,1x,male,hwt,None,Open,3
|
||||
122,555,MMasterJ_C1x,4000,37:28.1,1.7792802811262844,80,120,c-boat,1x,male,hwt,None,Open,3
|
||||
123,556,MMasterK_C1x,4000,42:37.9,1.5637827905703898,83,120,c-boat,1x,male,hwt,None,Open,3
|
||||
124,557,MMasterL_C1x,4000,50:12.3,1.327888988480563,86,120,c-boat,1x,male,hwt,None,Open,3
|
||||
125,558,MMasterM_C1x,4000,01:43.1,38.797284190106694,89,120,c-boat,1x,male,hwt,None,Open,3
|
||||
126,559,M1314_C1x,4000,21:47.8,3.058571647040832,12,14,c-boat,1x,female,hwt,None,Open,3
|
||||
127,560,M1516_C1x,4000,26:53.1,2.4796974769078175,12,16,c-boat,1x,female,hwt,None,Open,3
|
||||
128,561,M1718_C1x,4000,25:36.2,2.6038276266111184,12,18,c-boat,1x,female,hwt,None,Open,3
|
||||
129,562,FSenB_C1x,4000,24:28.0,2.7247956403269753,12,22,c-boat,1x,female,hwt,None,Open,3
|
||||
130,563,FSenA_C1x,4000,23:58.8,2.7800945232137892,12,120,c-boat,1x,female,hwt,None,Open,3
|
||||
131,564,FMasterA_C1x,4000,24:28.0,2.7247956403269753,27,120,c-boat,1x,female,hwt,None,Open,3
|
||||
132,565,FmasterB_C1x,4000,25:22.2,2.6277755879647877,36,120,c-boat,1x,female,hwt,None,Open,3
|
||||
133,566,FmasterC_C1x,4000,26:26.8,2.5207965717166627,43,120,c-boat,1x,female,hwt,None,Open,3
|
||||
134,567,FmasterD_C1x,4000,27:39.6,2.4102193299590264,50,120,c-boat,1x,female,hwt,None,Open,3
|
||||
135,568,FmasterE_C1x,4000,28:49.0,2.313475997686524,55,120,c-boat,1x,female,hwt,None,Open,3
|
||||
136,569,FmasterF_C1x,4000,30:25.5,2.1911804984935634,60,120,c-boat,1x,female,hwt,None,Open,3
|
||||
137,570,FmasterG_C1x,4000,32:35.5,2.0455126566095627,65,120,c-boat,1x,female,hwt,None,Open,3
|
||||
138,571,FmasterH_C1x,4000,35:39.8,1.8693335825778108,70,120,c-boat,1x,female,hwt,None,Open,3
|
||||
139,572,FmasterI_C1x,4000,40:26.7,1.6483290064696914,75,120,c-boat,1x,female,hwt,None,Open,3
|
||||
140,573,FmasterJ_C1x,4000,46:15.5,1.4411817690506215,80,120,c-boat,1x,female,hwt,None,Open,3
|
||||
141,574,FmasterK_C1x,4000,52:43.1,1.264582213651165,83,120,c-boat,1x,female,hwt,None,Open,3
|
||||
142,575,FmasterL_C1x,4000,01:56.3,34.393809114359414,86,120,c-boat,1x,female,hwt,None,Open,3
|
||||
143,576,FmasterM_C1x,4000,16:09.9,4.124136508918445,89,120,c-boat,1x,female,hwt,None,Open,3
|
||||
144,577,J1314_C2x,4000,18:30.6,3.6016567621105713,12,14,c-boat,2x,male,hwt,None,Open,3
|
||||
145,578,J1516_C2x,4000,19:21.5,3.4438226431338785,12,16,c-boat,2x,male,hwt,None,Open,3
|
||||
146,579,J1718_C2x,4000,18:26.9,3.6136959074893844,12,18,c-boat,2x,male,hwt,None,Open,3
|
||||
147,580,MSenB_C2x,4000,17:38.3,3.7796466030426155,12,22,c-boat,2x,male,hwt,None,Open,3
|
||||
148,581,MSenA_C2x,4000,17:17.2,3.8565368299267258,12,120,c-boat,2x,male,hwt,None,Open,3
|
||||
149,582,MMasterA_C2x,4000,17:38.3,3.7796466030426155,27,120,c-boat,2x,male,hwt,None,Open,3
|
||||
150,583,MMasterB_C2x,4000,18:17.8,3.6436509382401168,36,120,c-boat,2x,male,hwt,None,Open,3
|
||||
151,584,MMasterC_C2x,4000,19:04.5,3.494975972040192,43,120,c-boat,2x,male,hwt,None,Open,3
|
||||
152,585,MMasterD_C2x,4000,19:54.1,3.3498031990620554,50,120,c-boat,2x,male,hwt,None,Open,3
|
||||
153,586,MMasterE_C2x,4000,20:47.1,3.2074412637318583,55,120,c-boat,2x,male,hwt,None,Open,3
|
||||
154,587,MMasterF_C2x,4000,21:55.4,3.0409001064315033,60,120,c-boat,2x,male,hwt,None,Open,3
|
||||
155,588,MMasterG_C2x,4000,23:29.0,2.8388928317956,65,120,c-boat,2x,male,hwt,None,Open,3
|
||||
156,589,MMasterH_C2x,4000,25:42.6,2.5930247633864907,70,120,c-boat,2x,male,hwt,None,Open,3
|
||||
157,590,MMasterI_C2x,4000,29:09.4,2.286498227963873,75,120,c-boat,2x,male,hwt,None,Open,3
|
||||
158,591,MMasterJ_C2x,4000,33:20.8,1.9992003198720512,80,120,c-boat,2x,male,hwt,None,Open,3
|
||||
159,592,MMasterK_C2x,4000,37:56.5,1.757083241818581,83,120,c-boat,2x,male,hwt,None,Open,3
|
||||
160,593,MMasterL_C2x,4000,44:41.0,1.4919806042521446,86,120,c-boat,2x,male,hwt,None,Open,3
|
||||
161,594,MMasterM_C2x,4000,54:55.7,1.213702703522772,89,120,c-boat,2x,male,hwt,None,Open,3
|
||||
162,595,M1314_C2x,4000,20:33.8,3.242016534284325,12,14,c-boat,2x,female,hwt,None,Open,3
|
||||
163,596,M1516_C2x,4000,23:55.6,2.7862914460852606,12,16,c-boat,2x,female,hwt,None,Open,3
|
||||
164,597,M1718_C2x,4000,22:47.2,2.925687536571094,12,18,c-boat,2x,female,hwt,None,Open,3
|
||||
165,598,FSenB_C2x,4000,21:46.5,3.0616150019135095,12,22,c-boat,2x,female,hwt,None,Open,3
|
||||
166,599,FSenA_C2x,4000,21:20.5,3.1237797735259663,12,120,c-boat,2x,female,hwt,None,Open,3
|
||||
167,600,FMasterA_C2x,4000,21:46.5,3.0616150019135095,27,120,c-boat,2x,female,hwt,None,Open,3
|
||||
168,601,FmasterB_C2x,4000,22:34.7,2.952683250904259,36,120,c-boat,2x,female,hwt,None,Open,3
|
||||
169,602,FmasterC_C2x,4000,23:32.3,2.832259434964243,43,120,c-boat,2x,female,hwt,None,Open,3
|
||||
170,603,FmasterD_C2x,4000,24:37.0,2.708192281651997,50,120,c-boat,2x,female,hwt,None,Open,3
|
||||
171,604,FmasterE_C2x,4000,25:38.8,2.5994281258123215,55,120,c-boat,2x,female,hwt,None,Open,3
|
||||
172,605,FmasterF_C2x,4000,27:04.7,2.4619929833199974,60,120,c-boat,2x,female,hwt,None,Open,3
|
||||
173,606,FmasterG_C2x,4000,29:00.4,2.2983222247759136,65,120,c-boat,2x,female,hwt,None,Open,3
|
||||
174,607,FmasterH_C2x,4000,31:44.4,2.1003990758244067,70,120,c-boat,2x,female,hwt,None,Open,3
|
||||
175,608,FmasterI_C2x,4000,35:59.8,1.852023335494027,75,120,c-boat,2x,female,hwt,None,Open,3
|
||||
176,609,FmasterJ_C2x,4000,41:10.2,1.619302080803174,80,120,c-boat,2x,female,hwt,None,Open,3
|
||||
177,610,FmasterK_C2x,4000,46:55.1,1.4209086710951655,83,120,c-boat,2x,female,hwt,None,Open,3
|
||||
178,611,FmasterL_C2x,4000,55:07.5,1.2093726379440666,86,120,c-boat,2x,female,hwt,None,Open,3
|
||||
179,612,FmasterM_C2x,4000,07:47.2,8.561643835616438,89,120,c-boat,2x,female,hwt,None,Open,3
|
||||
180,613,Mix1314_2x,4000,17:16.4,3.8595137012736394,12,14,water,2x,mixed,hwt,None,Open,3
|
||||
181,614,Mix1516_2x,4000,16:52.2,3.951788184153329,12,16,water,2x,mixed,hwt,None,Open,3
|
||||
182,615,Mix1718_2x,4000,16:04.4,4.14765657403567,12,18,water,2x,mixed,hwt,None,Open,3
|
||||
183,616,MixSenB_2x,4000,15:21.8,4.3393360815795186,12,22,water,2x,mixed,hwt,None,Open,3
|
||||
184,617,MixSenA_2x,4000,15:03.4,4.427717511622759,12,120,water,2x,mixed,hwt,None,Open,3
|
||||
185,618,MixMasterA_2x,4000,15:21.8,4.3393360815795186,27,120,water,2x,mixed,hwt,None,Open,3
|
||||
186,619,MixMasterB_2x,4000,15:56.0,4.184100418410042,36,120,water,2x,mixed,hwt,None,Open,3
|
||||
187,620,MixMasterC_2x,4000,16:36.6,4.013646397752358,43,120,water,2x,mixed,hwt,None,Open,3
|
||||
188,621,MixMasterD_2x,4000,17:21.0,3.8424591738712777,50,120,water,2x,mixed,hwt,None,Open,3
|
||||
189,622,MixMasterE_2x,4000,18:05.9,3.6835804401878622,55,120,water,2x,mixed,hwt,None,Open,3
|
||||
190,623,MixMasterF_2x,4000,19:06.0,3.4904013961605584,60,120,water,2x,mixed,hwt,None,Open,3
|
||||
191,624,MixMasterG_2x,4000,20:27.5,3.258655804480652,65,120,water,2x,mixed,hwt,None,Open,3
|
||||
192,625,MixMasterH_2x,4000,22:23.6,2.9770765108663295,70,120,water,2x,mixed,hwt,None,Open,3
|
||||
193,626,MixMasterI_2x,4000,25:23.8,2.6250164063525396,75,120,water,2x,mixed,hwt,None,Open,3
|
||||
194,627,MixMasterJ_2x,4000,29:02.7,2.2952889194927413,80,120,water,2x,mixed,hwt,None,Open,3
|
||||
195,628,MixMasterK_2x,4000,33:04.4,2.0157226365652083,83,120,water,2x,mixed,hwt,None,Open,3
|
||||
196,629,MixMasterL_2x,4000,38:54.4,1.7135023989033584,86,120,water,2x,mixed,hwt,None,Open,3
|
||||
197,630,MixMasterM_2x,4000,47:50.1,1.3936796627295216,89,120,water,2x,mixed,hwt,None,Open,3
|
||||
|
1081
rowers/tests/testdata/thyro.csv
vendored
Normal file
1081
rowers/tests/testdata/thyro.csv
vendored
Normal file
File diff suppressed because it is too large
Load Diff
35
rowers/tests/testdata/thyro.kml
vendored
Normal file
35
rowers/tests/testdata/thyro.kml
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" ?>
|
||||
<kml xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.google.com/kml/ext/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://www.opengis.net/kml/2.2">
|
||||
<Document>
|
||||
<name>Courses.kml</name>
|
||||
<Folder>
|
||||
<name>Courses</name>
|
||||
<Folder>
|
||||
<name>Thyro Oefenbaantje</name>
|
||||
<open>1</open>
|
||||
<Placemark>
|
||||
<name>Start</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>6.848141106797385,52.22397960128134,0 6.847604734558461,52.22366336501974,0 6.84775082703156,52.22348501076475,0 6.848327567214691,52.22382735084554,0 6.848141106797385,52.22397960128134,0 6.848141106797385,52.22397960128134,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
<Placemark>
|
||||
<name>Finish</name>
|
||||
<Polygon>
|
||||
<tessellate>1</tessellate>
|
||||
<outerBoundaryIs>
|
||||
<LinearRing>
|
||||
<coordinates>6.845667068529353,52.22505473275959,0 6.846124505574835,52.2253406573624,0 6.845843953045947,52.22551933313507,0 6.845303793589403,52.22520820682232,0 6.845667068529353,52.22505473275959,0 6.845667068529353,52.22505473275959,0</coordinates>
|
||||
</LinearRing>
|
||||
</outerBoundaryIs>
|
||||
</Polygon>
|
||||
</Placemark>
|
||||
</Folder>
|
||||
</Folder>
|
||||
</Document>
|
||||
</kml>
|
||||
@@ -873,7 +873,7 @@ urlpatterns = [
|
||||
# name='plannedsessions_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/edit/$',views.course_edit_view,
|
||||
name='course_edit_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/delete/$',views.course_delete_view),
|
||||
re_path(r'^courses/(?P<id>\d+)/delete/$',views.course_delete_view,name='course_delete_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/downloadkml/$',views.course_kmldownload_view,
|
||||
name='course_kmldownload_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/replace/$',views.course_replace_view,
|
||||
@@ -883,7 +883,7 @@ urlpatterns = [
|
||||
re_path(r'^standards/(?P<id>\d+)/download/$',views.standards_download_view,
|
||||
name='standards_download_view'),
|
||||
re_path(r'^standards/(?P<id>\d+)/deactivate/$',views.standard_deactivate_view,
|
||||
name='standard_decativate_view'),
|
||||
name='standard_deactivate_view'),
|
||||
re_path(r'^courses/(?P<id>\d+)/map/$',views.course_map_view,name='course_map_view'),
|
||||
# URLS to be created
|
||||
re_path(r'^help/$',TemplateView.as_view(template_name='help.html'), name='help'),
|
||||
|
||||
@@ -703,23 +703,25 @@ def course_upload_view(request):
|
||||
if request.method == 'POST':
|
||||
form = CourseForm(request.POST,request.FILES)
|
||||
|
||||
|
||||
if form.is_valid():
|
||||
f = form.cleaned_data['file']
|
||||
name = form.cleaned_data['name']
|
||||
notes = form.cleaned_data['notes']
|
||||
country = form.cleaned_data['country']
|
||||
|
||||
if f is not None:
|
||||
filename,path_and_filename = handle_uploaded_file(f)
|
||||
|
||||
cs = courses.kmltocourse(path_and_filename)
|
||||
|
||||
|
||||
for course in cs:
|
||||
cname = name+' - '+course['name']
|
||||
cnotes = notes+'\n\n'+course['description']
|
||||
polygons = course['polygons']
|
||||
|
||||
course = courses.createcourse(r,cname,polygons,notes=cnotes)
|
||||
|
||||
if course.country == 'unknown':
|
||||
course.country = country
|
||||
course.save()
|
||||
|
||||
Reference in New Issue
Block a user