def testTrondheimData(self):
        xml_data = open("testdata/trondheimflights.xml").read()
        
        flights = FlightParser.parse_flights(xml_data, 
                                             MockAirlineFactory(),
                                             MockAirPortFactory(),
                                             MockFlightStatusFactory())
        self.assertEqual(2, len(flights))

        flight1 = flights[0]
        self.assertEqual("1170765", flight1.unique_id) 
        self.assertEqual("BGT073", flight1.flight_id)
        self.assertEqual("BGT", flight1.airline.code)
        self.assertEqual("BNN", flight1.airport.code)
        self.assertEqual(Flight.Directions.ARRIVAL, flight1.direction)
        self.assertEqual("3", flight1.belt)
        self.assertEqual("E", flight1.status.code)

        flight2 = flights[1]
        self.assertEqual("1176338", flight2.unique_id)
        self.assertEqual("SK381", flight2.flight_id)
        self.assertEqual("SK", flight2.airline.code)
        self.assertEqual("OSL", flight2.airport.code)
        self.assertEqual(Flight.Directions.DEPARTURE, flight2.direction)
        self.assertEqual("EF", flight2.check_in)
        self.assertEqual("32", flight2.gate)
        self.assertEqual("D", flight2.status.code)
    def testUnknownAirPort(self):
        xml_data = open("testdata/trondheimflights.xml").read()
        
        flights = FlightParser.parse_flights(xml_data, 
                                             MockAirlineFactory(),
                                             MockFailingAirPortFactory(),
                                             MockFlightStatusFactory())
        self.assertEqual(2, len(flights))

        flight1 = flights[0]
        self.assertEqual("1170765", flight1.unique_id) 
        self.assertEqual("BNN", flight1.airport.code)
        self.assertEqual("Unknown airport", flight1.airport.name)


        flight2 = flights[1]
        self.assertEqual("1176338", flight2.unique_id)
        self.assertEqual("OSL", flight2.airport.code)
        self.assertEqual("Unknown airport", flight2.airport.name)
Example #3
0
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)
Example #4
0
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