diff --git a/urbansim/server/urbansimd.py b/urbansim/server/urbansimd.py index 5ac6f9a6..40bcf9cd 100644 --- a/urbansim/server/urbansimd.py +++ b/urbansim/server/urbansimd.py @@ -125,6 +125,38 @@ def resp(): return wrap_request(request, response, resp()) +@route('/maps') +def list_maps(): + def resp(): + files = os.listdir(misc.maps_dir()) + return files + return wrap_request(request, response, resp()) + + +@route('/map/', method="GET") +def read_config(mapname): + def resp(): + c = open(os.path.join(misc.maps_dir(), mapname)).read() + return simplejson.loads(c) + return wrap_request(request, response, resp()) + + +@route('/map/', method="OPTIONS") +def ans_opt(mapname): + return {} + + +@route('/map/', method="PUT") +def write_config(mapname): + json = request.json + + def resp(): + s = simplejson.dumps(json, indent=4) + print s + return open(os.path.join(misc.map_dir(), mapname), "w").write(s) + return wrap_request(request, response, resp()) + + @route('/datasets') def list_datasets(): def resp(): diff --git a/urbansim/utils/misc.py b/urbansim/utils/misc.py index 77e0cfcb..9322ba1c 100644 --- a/urbansim/utils/misc.py +++ b/urbansim/utils/misc.py @@ -33,6 +33,10 @@ def charts_dir(): return mkifnotexists("charts") +def maps_dir(): + return mkifnotexists("maps") + + def runs_dir(): return mkifnotexists("runs")