Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pprint, requests, routedata # routedata has the allRoutes variable with the route name info
- import xml.etree.ElementTree as ET
- allRoutesPathData = {} # this will be the big dictionary we store all data in
- for route in routedata.allRoutes: # loop through all the routes
- allRoutesPathData[route] = [] # this will be a list of lists of {'lon':XXX, 'lat':XXX} dictonaries
- req = requests.get('http://webservices.nextbus.com/service/publicXMLFeed?command=routeConfig&a=sf-muni&r=%s' % (route))
- if req.status_code != 200:
- raise Exception('Could not download route data for %s' % (route))
- # load the downloaded XML text into an XML object we can navigate
- root = ET.fromstring(req.text)
- for child in root[0]: # iterate over all the elements in the <route> element
- if child.tag != 'path':
- continue # skip the non-<path> elements
- pathElement = []
- for point in child: # child is a <path> element, point is a <point> element in the path
- pathElement.append({'lon': point.attrib['lon'], 'lat': point.attrib['lat']}) # append this point to the path
- allRoutesPathData[route].append(pathElement) # append the path to the main dictionary
- # output all the data to a file named munipaths.py:
- fo = open('munipaths.py', 'w')
- fo.write('munipaths = ' + pprint.pformat(allRoutesPathData))
- fo.close()
Add Comment
Please, Sign In to add comment