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-15 20:10:57 +0200
commit8066268b131bbf7ac829e83ca7849e9752dcc6e6 (patch)
treea0ca47fc69feebbfa4648f09f8a97b451fce1b24 /chimere/route.py
parent551acb05271dde226267ba5c1bed5db44523eae2 (diff)
downloadChimè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.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()