def search(from_, to_, start_, end_, passengers_, stops_, cheapest_): ff = FlightFinder(from_, to_, start_, end_, passengers_, stops_) if cheapest_: result = ff.find_flight() else: result = ff.find_flights() print(result)
def main(*args): now = datetime.datetime.now() parser = OptionParser(usage="usage: %prog [options]") parser.add_option('-d', '--depcountry', type='choice', dest='depCountry', choices=COUNTRIES.keys(), help='Departure country name') parser.add_option('-a', '--arrcountry', type='choice', dest='arrCountry', choices=COUNTRIES.keys(), help='Arrival country name') parser.add_option('-b', '--depcity', type='choice', dest='depCity', choices=AIRPORTS.keys(), help='Departure airport code') parser.add_option('-c', '--arrcity', type='choice', dest='arrCity', choices=AIRPORTS.keys(), help='Arrival airport code') parser.add_option('-m', '--maxamount', type='float', dest='maxAmount', help='Max amount of money to spend in default currency', default=100.0) parser.add_option('-s', '--minstay', type='int', dest='minStay', help='Minimum length of stay in days', default=1) parser.add_option('-t', '--maxstay', type='int', dest='maxStay', help='Maximum length of stay in days', default=7) parser.add_option('-r', '--startdate', type='string', dest='startDate', help='The earliest possible start date', default=(now + datetime.timedelta(days=10)).strftime( DATEFORMAT)) parser.add_option('-e', '--enddate', type='string', dest='endDate', help='The latest possible end date', default=(now + datetime.timedelta(days=11)).strftime( DATEFORMAT)) (opts, args) = parser.parse_args() if not any([opts.depCountry, opts.depCity, opts.arrCountry, opts.arrCity]): parser.print_help() return 0 if opts.depCountry and opts.depCity: parser.error("options -d and -c are mutually exclusive") if opts.arrCountry and opts.arrCity: parser.error("options -a and -b are mutually exclusive") # TODO: Add date validation: end_date > start_date flight_finder = FlightFinder(**opts.__dict__) flight_finder.run()
def find_cheapest_passengers_stops(from_, to_, start_, end_, stops_): ff = FlightFinder(from_, to_, start_, end_, passengers_, stops_) return ff.find_flight()
def find_cheapest_stops(from_, to_, start_, end_, stops_): ff = FlightFinder(from_, to_, start_, end_, None, stops_) return ff.find_flight()
def find_cheapest(from_, to_, start_, end_): ff = FlightFinder(from_, to_, start_, end_) return ff.find_flight()
def find_cheapest_oneway(from_, to_, start_): ff = FlightFinder(from_, to_, start_) return ff.find_flight()
def find_flights_passengers(from_, to_, start_, end_, passengers_): ff = FlightFinder(from_, to_, start_, end_, passengers_) return ff.find_flights()
def find_flights(from_, to_, start_, end_): ff = FlightFinder(from_, to_, start_, end_) return ff.find_flights()
def find_flights_oneway(from_, to_, start_): ff = FlightFinder(from_, to_, start_) return ff.find_flights()