Files
kiwi-budapest-best/regiojet_search/main.py

29 lines
896 B
Python

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))