Reputation: 31
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}")
Upvotes: 1
Views: 88
Reputation: 13551
A bit improved.
payload_dict = {"process": None, "status": None, "taskId": task_id, "jenkinsJobName": job_name, "msg": None}
stat = 0
if srv_result == "failed" and result:
logging.info("srv start failed")
response_data = {"errorMsg": "failed", "errorCode": "2", "serviceList": result}
elif srv_result == "failed":
logging.info("srv start failed")
response_data = {"errorMsg": "failed", "errorCode": "2", "serviceList": "srv start failed"}
elif result:
logging.info(f"failed srv:{result}")
response_data = {"errorMsg": "failed", "errorCode": "1", "serviceList": result}
else:
logging.info("deploy success.")
response_data = {"errorMsg": "sucess", "errorCode": "0", "serviceList": result}
stat = 1
_msg = json.dumps(response_data, ensure_ascii=False)
payload_dict.update(process=1, status=stat, msg=_msg)
logging.info(f"Requests:{payload_dict}")
Upvotes: 2