import requests import json import pprint import argparse from datetime import date, datetime, time, timedelta import redis import regiojet def json_serial(obj): """JSON serializer for objects not serializable by default json code""" if isinstance(obj, timedelta): return str(obj) if isinstance(obj, (datetime, date)): return obj.isoformat() raise TypeError("Type %s not serializable" % type(obj)) parser = argparse.ArgumentParser( description='Search some connection') # use of ArgumentParser against of simple OptionParser parser.add_argument("origin") parser.add_argument("destination") parser.add_argument("departure") args = parser.parse_args() city_from = args.origin city_to = args.destination departure = datetime.fromisoformat(args.departure) ret = regiojet.search_connection_regiojet(city_from, city_to, 'REGULAR', 'CITY', 'CITY', departure, departure) print(json.dumps(ret, indent=4, default=json_serial, sort_keys=False))