Private
Public Access
1
0

Merge branch 'release/v13.34'

This commit is contained in:
Sander Roosendaal
2020-07-12 09:38:16 +02:00
4 changed files with 26 additions and 17 deletions

View File

@@ -73,7 +73,7 @@ def crewnerdcourse(doc):
'description':description, 'description':description,
'polygons':polygons 'polygons':polygons
}) })
return courses return courses
def get_polygons(polygonpms): def get_polygons(polygonpms):
@@ -103,7 +103,7 @@ def get_polygons(polygonpms):
return polygons return polygons
def coursetokml(course): def coursetokml(course):
top = Element('kml') top = Element('kml')
@@ -112,7 +112,7 @@ def coursetokml(course):
top.attrib['xmlns:' + prefix] = uri top.attrib['xmlns:' + prefix] = uri
else: else:
top.attrib['xmlns'] = uri top.attrib['xmlns'] = uri
document = SubElement(top,'Document') document = SubElement(top,'Document')
name = SubElement(document, 'name') name = SubElement(document, 'name')
name.text = 'Courses.kml' name.text = 'Courses.kml'
@@ -124,11 +124,11 @@ def coursetokml(course):
coursename.text = course.name coursename.text = course.name
open = SubElement(folder2,'open') open = SubElement(folder2,'open')
open.text = '1' open.text = '1'
polygons = GeoPolygon.objects.filter(course=course).order_by("order_in_course") polygons = GeoPolygon.objects.filter(course=course).order_by("order_in_course")
polygonsxml = [] polygonsxml = []
for polygon in polygons: for polygon in polygons:
placemark = SubElement(folder2,'Placemark') placemark = SubElement(folder2,'Placemark')
polygonname = SubElement(placemark,'name') polygonname = SubElement(placemark,'name')
@@ -162,7 +162,7 @@ def kmltocourse(f):
if courses: if courses:
return crewnerdcourse(courses) return crewnerdcourse(courses)
polygonpms = doc.findall('.//opengis:Placemark[opengis:Polygon]',ns) polygonpms = doc.findall('.//opengis:Placemark[opengis:Polygon]',ns)
return get_polygons(polygonpms) return get_polygons(polygonpms)
@@ -185,13 +185,9 @@ def createcourse(
if i==0 and j==0: if i==0 and j==0:
latitude = point['latitude'] latitude = point['latitude']
longitude = point['longitude'] longitude = point['longitude']
g = geocoder.google([latitude,longitude],method='reverse') g = geocoder.osm([latitude,longitude],method='reverse')
if g.ok: if g.ok:
address = g.raw['address_components'] country = g.json['country']
country = 'unknown'
for a in address:
if 'country' in a['types']:
country = a['long_name']
else: else:
country = 'unknown' country = 'unknown'
c.country = country c.country = country
@@ -251,13 +247,13 @@ def get_time_course(ws,course):
paths.append(path) paths.append(path)
( (
coursetimeseconds, coursetimeseconds,
coursemeters, coursemeters,
coursecompleted, coursecompleted,
) = coursetime_paths(rowdata,paths) ) = coursetime_paths(rowdata,paths)
( (
coursetimefirst, coursetimefirst,
@@ -268,7 +264,7 @@ def get_time_course(ws,course):
coursetimeseconds = coursetimeseconds-coursetimefirst coursetimeseconds = coursetimeseconds-coursetimefirst
coursemeters = coursemeters-coursemetersfirst coursemeters = coursemeters-coursemetersfirst
return coursetimeseconds,coursemeters,coursecompleted return coursetimeseconds,coursemeters,coursecompleted
def replacecourse(course1,course2): def replacecourse(course1,course2):

View File

@@ -209,6 +209,7 @@ class CourseForm(forms.Form):
notes = forms.CharField(required=False, notes = forms.CharField(required=False,
max_length=200,label='Course Notes', max_length=200,label='Course Notes',
widget=forms.Textarea) widget=forms.Textarea)
country = forms.CharField(required=False,max_length=150,label='Country')
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
from django.forms.widgets import HiddenInput from django.forms.widgets import HiddenInput

View File

@@ -6,6 +6,7 @@ import os
import requests import requests
import datetime import datetime
import arrow import arrow
import json
from simplejson.errors import JSONDecodeError from simplejson.errors import JSONDecodeError
@@ -24,7 +25,10 @@ class Command(BaseCommand):
try: try:
blogs_json = response.json() blogs_json = response.json()
except JSONDecodeError: except JSONDecodeError:
blogs_json = [] try:
blogs_json = json.loads(response.text)
except JSONDecodeError:
blogs_json = []
else: else:
blogs_json = [] blogs_json = []
except ConnectionError: except ConnectionError:

View File

@@ -579,6 +579,7 @@ def course_upload_replace_view(request,id=0):
if form.is_valid(): if form.is_valid():
f = form.cleaned_data['file'] f = form.cleaned_data['file']
notes = form.cleaned_data['notes'] notes = form.cleaned_data['notes']
country = form.cleaned_data['country']
if f is not None: if f is not None:
filename, path_and_filename = handle_uploaded_file(f) filename, path_and_filename = handle_uploaded_file(f)
@@ -593,6 +594,9 @@ def course_upload_replace_view(request,id=0):
polygons = course['polygons'] polygons = course['polygons']
course = courses.createcourse(r,cname,polygons,notes=cnotes) course = courses.createcourse(r,cname,polygons,notes=cnotes)
if course.country == 'unknown':
course.country = country
course.save()
url = reverse(course_update_confirm, url = reverse(course_update_confirm,
kwargs = { kwargs = {
@@ -703,6 +707,7 @@ def course_upload_view(request):
f = form.cleaned_data['file'] f = form.cleaned_data['file']
name = form.cleaned_data['name'] name = form.cleaned_data['name']
notes = form.cleaned_data['notes'] notes = form.cleaned_data['notes']
country = form.cleaned_data['country']
if f is not None: if f is not None:
filename,path_and_filename = handle_uploaded_file(f) filename,path_and_filename = handle_uploaded_file(f)
@@ -715,6 +720,9 @@ def course_upload_view(request):
polygons = course['polygons'] polygons = course['polygons']
course = courses.createcourse(r,cname,polygons,notes=cnotes) course = courses.createcourse(r,cname,polygons,notes=cnotes)
if course.country == 'unknown':
course.country = country
course.save()
os.remove(path_and_filename) os.remove(path_and_filename)