I am trying to match the details with database, if the user gives input data in json format. we have to check the keys, if the keys are present in data(which we have) it should to do some preprocessing and returns the results. I am creating an API, which returns according to the needs.
Here i have used multiple if statements but i want to reduce my code, is there any way to get that?
Below is my code for reference
@app.route('/api',methods=['GET'])
def aadhar_pan_users_check():
data=request.get_json()
aadhar=data.get('aadhar')
pancard=data.get('pan')
fname = data.get('firstName')
lname = data.get('lastName')
gender = data.get('gender')
cust_type = data.get('cust_type')
dob = data.get('dob')
res=[]
if aadhar!=None and pancard!=None:
res.append((aadhar_check(aadhar), pan_check(pancard)))
return str(res)
elif pancard!=None:
return str(pan_check(pancard))
elif aadhar!=None:
return str(aadhar_check(aadhar))
# return jsonify({'aadhar': str(aadhar_check(aadhar))})
elif fname!=None and lname!=None and gender!=None and cust_type!=None and dob!=None and aadhar!=None and pancard!=None:
ret=[fname,lname,gender,cust_type,dob, aadhar, pancard]
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['gen'],formatting_data['client_type'],formatting_data['dob'],formatting_data['aadhar'],formatting_data['pan']]
# print(ret_ty)
return (preprocess_user_data(ret,ret_ty),aadhar_check(aadhar),pan_check(pancard))
elif fname!=None and lname!=None and gender!=None and cust_type!=None:
ret=[fname,lname,gender,cust_type]
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['gen'],formatting_data['client_type']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty),aadhar_check(aadhar)
elif fname!=None and lname!=None and gender!=None:
ret=[fname,lname,gender]
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['gen']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty)
elif fname!=None and lname!=None and dob!=None:
ret=[fname,lname,dob]
print(1000*'3')
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['dob']]
return preprocess_user_data(ret,ret_ty),aadhar_check(aadhar)
elif fname!=None and lname!=None:
ret=[fname,lname]
ret_ty=[formatting_data['fname'],formatting_data['lname']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty)
elif fname!=None and lname!=None and cust_type!=None and dob!=None:
ret=[fname,lname,gender,cust_type,dob]
print(1000*'4')
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['client_type'],formatting_data['dob']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty),aadhar_check(aadhar)
elif fname!=None and lname!=None and gender!=None and cust_type!=None:
ret=[fname,lname,gender,cust_type]
print(1000*'5')
ret_ty=[formatting_data['fname'],formatting_data['lname'],formatting_data['gen'],formatting_data['client_type']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty),aadhar_check(aadhar)
elif fname!=None:
ret=[fname]
print(type(fname))
ret_ty=[formatting_data['fname']]
# print(ret_ty)
return preprocess_user_data(ret,ret_ty)
else:
return "Something wrong"
I have some functions which helps in preprocessing.