Using more than one nested if/else makes the logic bloated.
How can I simplify the following code.
The more than one nested if/else format and logic is pretty ugly.
payload_dict = {"process": None, "status": None, "taskId": task_id,
"jenkinsJobName": job_name, "msg": None}
if srv_result == "failed":
if result:
logging.info("srv start failed")
response_data = {"errorMsg": "failed", "errorCode": "2", "serviceList": result}
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=0, msg=_msg)
logging.info(f"Requests:{payload_dict}")
else:
logging.info("srv start failed")
response_data = {"errorMsg": "failed", "errorCode": "2",
"serviceList": "srv start failed"}
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=0, msg=_msg)
logging.info(f"Requests:{payload_dict}")
else:
if result:
logging.info(f"failed srv:{result}")
response_data = {"errorMsg": "failed", "errorCode": "1", "serviceList": result}
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=0, msg=_msg)
logging.info(f"Requests:{payload_dict}")
else:
logging.info("deploy success.")
response_data = {"errorMsg": "sucess", "errorCode": "0", "serviceList": result}
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=1, msg=_msg)
logging.info(f"Requests:{payload_dict}")