X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=www%2Fmaps%2Fmaps%2Fcontrollers%2Flocation.py;fp=www%2Fmaps%2Fmaps%2Fcontrollers%2Flocation.py;h=c3e829858e5ea33699bd9c93b50d074c7a56a9f2;hb=5485afbd4da2182072ef9756c65137729bf1eee5;hp=0000000000000000000000000000000000000000;hpb=a5341c314815ed4df97e2b0f94d05322660052cf;p=dead%2Fcensus-tools.git diff --git a/www/maps/maps/controllers/location.py b/www/maps/maps/controllers/location.py new file mode 100644 index 0000000..c3e8298 --- /dev/null +++ b/www/maps/maps/controllers/location.py @@ -0,0 +1,45 @@ +import csv +import json +import logging + +from pylons import request, response, session, tmpl_context as c +from pylons.controllers.util import abort, redirect_to + +from maps.lib.base import BaseController, render + +log = logging.getLogger(__name__) + +class LocationController(BaseController): + + def index(self): + c.load_maps = False + + if request.method == 'POST': + c.load_maps = True + + # Get the contents of the uploaded files. + producers_data = request.POST['producers'].value.splitlines() + consumers_data = request.POST['consumers'].value.splitlines() + + producers_csv = csv.DictReader(producers_data) + consumers_csv = csv.DictReader(consumers_data) + + # Create a big json string to pass as a parameter to our + # javascript page. + json_objects = [] + + for row in producers_csv: + # Add the producers to the output, one at a time. + # But first, insert a 'type' field. + row['type'] = 'producer' + json_objects.append(row) + + for row in consumers_csv: + # Do the same thing for the consumers. + row['type'] = 'consumer' + json_objects.append(row) + + c.json = json.dumps(json_objects) + + return render('/location/index.mako') +