diff --git a/scripts/alphaplan_fwr_import.py b/scripts/alphaplan_fwr_import.py index 9583cec4f99d878b0c26705a6a21014eb68fbe91..93a95d8db7c97e6eba6560da9d7f1ce5c9701157 100755 --- a/scripts/alphaplan_fwr_import.py +++ b/scripts/alphaplan_fwr_import.py @@ -9,12 +9,21 @@ import requests def ap_send_json(jsonobj: dict, url: str, user: str, password: str, cert_file: str): """Sends the generated files to the Alphaplan webservice""" - msg = requests.post( - url, json=jsonobj, auth=(user, password), verify=cert_file, timeout=10 - ) - msg_json = msg.json() + try: + msg = requests.post( + url, json=jsonobj, auth=(user, password), verify=cert_file, timeout=10 + ) + except requests.exceptions.RequestException as e: + sys.exit("ERROR: %s" % e) + + try: + msg_json = msg.json() + except json.decoder.JSONDecodeError: + sys.exit("ERROR: Did not receive a valid JSON reply from Alphaplan webservice") + if msg_json["Status"] != "Ok": sys.exit("ERROR: AlphaPlan webservice post request failed") + print("AlphaPlan webservice response: {}".format(msg_json["Meldung"])) @@ -62,8 +71,13 @@ def main(): for filename in files: print("Importing JSON file %s" % filename) with open(filename, "r", encoding="utf-8") as f: + try: + json_data = json.load(f) + except json.decoder.JSONDecodeError: + sys.exit("ERROR: Could not parse JSON data from %f" % filename) + ap_send_json( - json.load(f), + json_data, args.url, args.user, args.password,