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-15 20:10:57 +0200 |
| commit | 8066268b131bbf7ac829e83ca7849e9752dcc6e6 (patch) | |
| tree | a0ca47fc69feebbfa4648f09f8a97b451fce1b24 /chimere/route.py | |
| parent | 551acb05271dde226267ba5c1bed5db44523eae2 (diff) | |
| download | Chimère-8066268b131bbf7ac829e83ca7849e9752dcc6e6.tar.bz2 Chimère-8066268b131bbf7ac829e83ca7849e9752dcc6e6.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() |
