summaryrefslogtreecommitdiff
path: root/chimere/route.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/route.py')
-rw-r--r--chimere/route.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/chimere/route.py b/chimere/route.py
index 8c4638a..31cf4f0 100644
--- a/chimere/route.py
+++ b/chimere/route.py
@@ -22,7 +22,10 @@
Routing management
"""
-import os, re, shutil, tempfile
+import os
+import re
+import shutil
+import tempfile
from BeautifulSoup import BeautifulSoup
from subprocess import Popen, PIPE
from django.contrib.gis.gdal import DataSource
@@ -30,6 +33,7 @@ from django.contrib.gis.gdal.error import OGRException
from django.conf import settings
+
class Router:
def route(self, lon1, lat1, lon2, lat2, transport='foot'):
'''
@@ -37,9 +41,11 @@ class Router:
'''
return []
+
class RoutinoRouter(Router):
re_desc = [re.compile("<tr class='n'>"), re.compile("<tr class='s'>"),
re.compile("<tr class='t'>")]
+
def route(self, lon1, lat1, lon2, lat2, steps=[], transport='foot',
speed=None):
'''
@@ -57,10 +63,12 @@ class RoutinoRouter(Router):
"--lon1=%0.15f" % lon1,
]
if speed:
- args += ["--speed-%s=%s" % (highway, unicode(speed))
- for highway in ('motorway', 'trunk', 'primary', 'secondary',
- 'tertiary', 'unclassified', 'residential', 'service',
- 'track','cycleway','path','steps')]
+ args += [
+ "--speed-%s=%s" % (highway, unicode(speed))
+ for highway in (
+ 'motorway', 'trunk', 'primary', 'secondary', 'tertiary',
+ 'unclassified', 'residential', 'service', 'track',
+ 'cycleway', 'path', 'steps')]
lonlat_index = 1
for lon, lat in steps:
lonlat_index += 1
@@ -97,9 +105,8 @@ class RoutinoRouter(Router):
desc = desc[1:-2]
# very fragile piece of code but only break the numerotation
number_tpl = '<tr class="n"><span class="number">%d.</span>'
- desc = [re.sub('<tr class="n">', number_tpl % (idx/2+1), d)
- if idx % 2 else d
- for idx, d in enumerate(desc)]
+ desc = [re.sub('<tr class="n">', number_tpl % (idx / 2 + 1), d)
+ if idx % 2 else d for idx, d in enumerate(desc)]
desc = self.webify(BeautifulSoup('\n'.join(desc)).prettify())
desc = re.sub(" \[", "", desc)
desc = re.sub(" \]", "", desc)
@@ -118,4 +125,3 @@ router = None
if hasattr(settings, 'CHIMERE_ROUTING_ENGINE') and \
settings.CHIMERE_ROUTING_ENGINE['ENGINE'] == 'routino':
router = RoutinoRouter()
-