Esempio n. 1
0
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)
Esempio n. 2
0
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()
Esempio n. 3
0
def find_cheapest_passengers_stops(from_, to_, start_, end_, stops_):
    ff = FlightFinder(from_, to_, start_, end_, passengers_, stops_)

    return ff.find_flight()
Esempio n. 4
0
def find_cheapest_stops(from_, to_, start_, end_, stops_):
    ff = FlightFinder(from_, to_, start_, end_, None, stops_)

    return ff.find_flight()
Esempio n. 5
0
def find_cheapest(from_, to_, start_, end_):
    ff = FlightFinder(from_, to_, start_, end_)

    return ff.find_flight()
Esempio n. 6
0
def find_cheapest_oneway(from_, to_, start_):
    ff = FlightFinder(from_, to_, start_)

    return ff.find_flight()
Esempio n. 7
0
def find_flights_passengers(from_, to_, start_, end_, passengers_):
    ff = FlightFinder(from_, to_, start_, end_, passengers_)

    return ff.find_flights()
Esempio n. 8
0
def find_flights(from_, to_, start_, end_):
    ff = FlightFinder(from_, to_, start_, end_)

    return ff.find_flights()
Esempio n. 9
0
def find_flights_oneway(from_, to_, start_):
    ff = FlightFinder(from_, to_, start_)

    return ff.find_flights()