def test_get_object_from_xml(self): xml = """<?xml version="1.0" encoding="utf-8" ?> <body copyright="All data copyright San Francisco Muni 2011."> <route tag="F" title="F-Market & Wharves" color="555555" oppositeColor="ffffff" latMin="30.5" latMax="30.5" lonMin="30.5" lonMax="30.5"> <stop tag="5184" title="Jones St & Beach St" lat="37.8072499" lon="-122.41737" stopId="15184"/> <stop tag="3092" title="Beach St & Mason St" lat="37.80741" lon="-122.4141199" stopId="13092"/> <direction tag="F__OBCTRO" title="Outbound to Castro Station via Downtown" name="Outbound" useForUI="true"> <stop tag="5184" /> <stop tag="3092" /> </direction> <direction tag="F__IBCTRO" title="Inbound to Fisherman's Wharf via Downtown" name="Inbound" useForUI="true"> <stop tag="5184" /> <stop tag="3092" /> </direction> <path> <point lat="37.76726" lon="-122.42915"/> <point lat="37.76888" lon="-122.4271"/> <point lat="37.77057" lon="-122.42497"/> </path> <path> <point lat="37.76726" lon="-122.42915"/> <point lat="37.76888" lon="-122.4271"/> <point lat="37.77057" lon="-122.42497"/> </path> </route> </body>""" root_xml = xmlLib.fromstring(xml) route_xml = root_xml[0] paths = PathXmlParser.get_object_from_xml(route_xml) self.assertEqual(len(paths), 2)
def get_object_from_xml(xml): root_xml = xmlLib.fromstring(xml) route_xml = root_xml[0] route = RouteXmlParser.get_object_from_dict(route_xml.attrib) route.stops = StopXmlParser.get_object_from_xml(route_xml) route.directions = DirectionXmlParser.get_object_from_xml(route_xml, route.stops) route.paths = PathXmlParser.get_object_from_xml(route_xml) return route