def get_flights(airport, airline_factory, airport_factory, status_factory): query = Query(airport) xml = FlightInformationService.download_flight_xml(query) return FlightParser.parse_flights(xml, airline_factory, airport_factory, status_factory)
airports_xml = FlightInformationService.download_airport_xml() airports = AirPortParser.parse_airports(airports_xml) airport_factory = AirPortFactory(airports) airlines_xml = FlightInformationService.download_airline_xml() airlines = AirlineParser.parse_airlines(airlines_xml) airline_factory = AirlineFactory(airlines) status_xml = FlightInformationService.download_flight_status_xml() statuses = FlightStatusParser.parse_statuses(status_xml) status_factory = FlightStatusFactory(statuses) airport = airport_factory.get_airport_by_code(airportname) query = Query(airport) xml = FlightInformationService.download_flight_xml(query) flights = FlightParser.parse_flights(xml, airline_factory, airport_factory, status_factory) print "Flight information for %s (%s)" % (airport.name, airport.code) if not options.arrivals_only: print "\nDepartures:" for f in filter(is_departure, flights): print f if not options.departures_only: print "\nArrivals:" for f in filter(is_arrival, flights): print f