import argparse import json from datetime import date from regiojet_search.encoders import SearchResultJSONEncoder from regiojet_search.search import fetch_cities, search from regiojet_search.utils import lookup_city parser = argparse.ArgumentParser(prog="python main.py") # Mandatory arguments parser.add_argument("from_city_name") parser.add_argument("to_city_name") parser.add_argument("departure_date", type=date.fromisoformat, metavar="YYYY-MM-DD") # Optional arguments parser.add_argument("-c", "--currency", default="CZK") def main(from_city_name: str, to_city_name: str, **kwargs): cities = fetch_cities() routes = search(from_city=lookup_city(from_city_name, cities), to_city=lookup_city(to_city_name, cities), **kwargs) print(json.dumps(routes, cls=SearchResultJSONEncoder, indent=2)) if __name__ == "__main__": args = parser.parse_args() main(**vars(args))