diff options
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 |
commit | c107a69ca98f5be7893cbe2a03e84cfaae1b9ca9 (patch) | |
tree | d5de22ae39e2dce2bb0067450aecdb8f3df6f302 /chimere/route.py | |
parent | d1834d853739383585f2ad0a99afb606c1f16978 (diff) | |
download | Chimè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.py | 12 |
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() |