Task 4, API

This commit is contained in:
2022-03-06 14:21:11 +01:00
parent 9fc2bb40dd
commit 7035b2fc85
5 changed files with 307 additions and 25 deletions

31
regioget_cli.py Normal file
View File

@@ -0,0 +1,31 @@
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))