def gets_user_itinerary(agency, route_code, destination_stop, user_inital_stop, route_name): """returns a list of the user's stops from inital to destination >>> agency = u'BART' >>> route_code = u'920' >>> destination_stop = u'32' >>> user_inital_stop = u'14' >>> route_name = u'Daly City - Dublin/Pleasanton' >>> user_itinerary = gets_user_itinerary(agency, route_code, destination_stop, user_inital_stop, route_name) >>> user_itinerary '14, 15, 17, 19, 38, 36, 34, 32' """ route = gets_route_id_db(route_code) if not route: route = gets_route_db(route_code) destination_stop = gets_stop_db(destination_stop) user_inital_stop = gets_stop_db(user_inital_stop) route_stops = gets_stops_from_route(str(route.stop_list), route.agency.agency_id) itinerary = parse_route_stop_for_user(route_stops, user_inital_stop, destination_stop) return itinerary
def adds_routestop_to_db(stop_routes_agencies_info_bart): """add the relationship between routes and stops to db""" # import pdb; pdb.set_trace() for route in stop_routes_agencies_info_bart: route_code = stop_routes_agencies_info_bart[route]['route_code'] direction = stop_routes_agencies_info_bart[route]['direction'] agency_code = stop_routes_agencies_info_bart[route]['agency_code'] if agency_code == 3: route_db = gets_route_db(route) if not route_db: continue for stop in stop_routes_agencies_info_bart[route]['stop_list']: stops = gets_stop_name_db(stop) if len(stops) > 0: route_stop = Route_Stop( route_id=route_db.route_id, stop_id=stops[0].stop_code, ) db.session.add(route_stop) db.session.commit() else: route_db = gets_route_db(route_code, direction) for stop in stop_routes_agencies_info_bart[route]['stop_list']: stop_id = stop[1] stops = gets_stop_db(stop_id) route_stop = Route_Stop( route_id=route_db.route_id, stop_id=stop_id, ) db.session.add(route_stop) db.session.commit() db.session.commit() print "RouteStops Added to DB"