diff options
Diffstat (limited to 'chimere/views.py')
-rw-r--r-- | chimere/views.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/chimere/views.py b/chimere/views.py index 0c512d4..01179e4 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -819,6 +819,19 @@ def route(request, map_name, lon1, lat1, lonlat_steps, lon2, lat2, steps = [(steps[i*2], steps[i*2+1]) for i in range(len(steps)/2)] except ValueError: return HttpResponse('no results') + + # prevent incoherent transport and speed + if transport not in dict(settings.CHIMERE_ROUTING_TRANSPORT): + transport = settings.CHIMERE_ROUTING_TRANSPORT[0][0] + if speed: + speed = unicode(speed) + available_speed = [unicode(sp) + for sp, lbl in settings.CHIMERE_ROUTING_SPEEDS[transport]] + if speed not in available_speed: + speed = None + if not speed: + speed = settings.CHIMERE_ROUTING_SPEEDS[transport][0][0] + jsons, desc, total = router.route(lon1, lat1, lon2, lat2, steps=steps, transport=transport, speed=speed) if not jsons: |