Merge branch 'release/v13.34'
This commit is contained in:
@@ -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):
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user