summaryrefslogtreecommitdiff
path: root/chimere/route.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-15 20:10:57 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-22 02:04:25 +0200
commitc107a69ca98f5be7893cbe2a03e84cfaae1b9ca9 (patch)
treed5de22ae39e2dce2bb0067450aecdb8f3df6f302 /chimere/route.py
parentd1834d853739383585f2ad0a99afb606c1f16978 (diff)
downloadChimère-c107a69ca98f5be7893cbe2a03e84cfaae1b9ca9.tar.bz2
Chimère-c107a69ca98f5be7893cbe2a03e84cfaae1b9ca9.zip
Improve routing: manage steps
* Manage steps in routing core * Add extra parameters for steps in urls.py * Modify the view to parse steps and send them to the routing core * Manage steps in JS (add many step flags and send a correct request to the view) * Manage a clear itinerary action in JS * Add a new flag image for steps * CSS improvement
Diffstat (limited to 'chimere/route.py')
-rw-r--r--chimere/route.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/chimere/route.py b/chimere/route.py
index 207232b..bc08a39 100644
--- a/chimere/route.py
+++ b/chimere/route.py
@@ -39,7 +39,7 @@ class Router:
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, session_id='', transport='foot'):
+ def route(self, lon1, lat1, lon2, lat2, steps=[], transport='foot'):
'''
Get a list of geojson polylines and route description
'''
@@ -53,9 +53,15 @@ class RoutinoRouter(Router):
"--output-gpx-track",
"--lat1=%0.15f" % lat1,
"--lon1=%0.15f" % lon1,
- "--lat2=%0.15f" % lat2,
- "--lon2=%0.15f" % lon2
]
+ lonlat_index = 1
+ for lon, lat in steps:
+ lonlat_index += 1
+ args += ["--lat%d=%0.15f" % (lonlat_index, lat),
+ "--lon%d=%0.15f" % (lonlat_index, lon)]
+ lonlat_index += 1
+ args += ["--lat%d=%0.15f" % (lonlat_index, lat2),
+ "--lon%d=%0.15f" % (lonlat_index, lon2)]
tmp_dir = tempfile.mkdtemp(prefix='chimere_') + os.sep
p = Popen(args, stdout=PIPE, cwd=tmp_dir)
p.communicate()