def predict(): ''' For rendering results on HTML GUI ''' #int_features = [22582, 2, 170, 90.0, 120, 80, 1, 1, 1, 1, 1, 31] i = 0 myList = [] for x in request.form.values(): if i == 0: name = x elif i == 1: email = x else: myList.append(x) i = i + 1 int_features = [int(x) for x in myList] int_features[0] = int_features[0] * 365 data = int_features[3] / (int_features[2] / 100)**2 int_features.append(data) final_features = pd.DataFrame([int_features]) prediction = model.predict(final_features) email_sender = EmailSender() email_file = open("email-templates/email-template-district.html", "r") email_message = email_file.read() if prediction[0] == 0: email_pred = "Hey! you are healthy. keep going on..Check your email for more information" else: email_pred = "Hey! you are more likely to have a cardio vascular outbreak. Take care. Check your email or the below link for more information" email_sender.sendEmailDistrict(name, email, email_message, email_pred) if prediction[0] == 0: return render_template( 'index.html', prediction_text= 'Hey! you seem not to have any cardio issues. you are healthy!. keep going on..' ) return render_template( 'index.html', prediction_text= 'Hey! you are more likely to have a cardio vascular outbreak. Take care of your health. For more details about the disease check the below link or your email' )
def getUserDetails(req, db): sessionID = req.get("session") session = re.compile("sessions/(.*)") sessionID = session.findall(sessionID)[0] result = req.get("queryResult") user_says = result.get("queryText") name = result.get("parameters").get("name") email = result.get("parameters").get("email") mobile = result.get("parameters").get("mobile") pincode = result.get("parameters").get("pincode") regex_email = "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" regex_mobile = "[0-9]{10}" regex_pincode = "[0-9]{6}" if re.search(regex_email, email) is None: fulfillmentText = "Not a valid email. Please start again and enter valid email." bot_says = fulfillmentText if db.conversations.find({"sessionID": sessionID}).count() > 0: db.conversations.update_one( {"sessionID": sessionID}, {"$push": { "events": { "$each": [user_says, bot_says] } }}) else: db.conversations.insert_one({ "sessionID": sessionID, "events": [user_says, bot_says] }) return {"fulfillmentText": fulfillmentText} if re.search(regex_mobile, mobile) is None: fulfillmentText = "Not a valid mobile number. Please start again and enter valid mobile number." bot_says = fulfillmentText if db.conversations.find({"sessionID": sessionID}).count() > 0: db.conversations.update_one( {"sessionID": sessionID}, {"$push": { "events": { "$each": [user_says, bot_says] } }}) else: db.conversations.insert_one({ "sessionID": sessionID, "events": [user_says, bot_says] }) return {"fulfillmentText": fulfillmentText} if re.search(regex_pincode, pincode) is None: fulfillmentText = "Not a valid pincode. Please start again and enter valid pincode." bot_says = fulfillmentText if db.conversations.find({"sessionID": sessionID}).count() > 0: db.conversations.update_one( {"sessionID": sessionID}, {"$push": { "events": { "$each": [user_says, bot_says] } }}) else: db.conversations.insert_one({ "sessionID": sessionID, "events": [user_says, bot_says] }) return {"fulfillmentText": fulfillmentText} try: url = "https://api.postalpincode.in/pincode/" + pincode res = requests.get(url) jsonRes = res.json() postOffice = jsonRes[0]["PostOffice"] state = str(postOffice[0]["State"]) if "&" in state: state = state.replace("&", "and") district = str(postOffice[0]["District"]) if "&" in district: district = district.replace("&", "and") if district == "Ahmedabad": district = "Ahmadabad" elif district == "Bangalore": district = "Bengaluru" elif district == "Central Delhi": district = "New Delhi" print(state, end=',') print(district) try: url1 = "https://api.covid19india.org/v2/state_district_wise.json" res1 = requests.get(url1) jsonRes1 = res1.json() stateDistrictData = jsonRes1 for i in range(len(stateDistrictData)): stateDistrictData1 = stateDistrictData[i] if stateDistrictData1["state"] == state: districtData = stateDistrictData1["districtData"] for j in range(len(districtData)): email_sender = EmailSender() if districtData[j]["district"] == district: confirmed = str(districtData[j]["confirmed"]) print(f"\n Confirmed Cases are: {confirmed}") email_file = open( "email-templates/email-template-district.html", "r") email_message = email_file.read() email_sender.sendEmailDistrict( name, email, district, confirmed, email_message) fulfillmentText = "A mail has been sent to you with current COVID-19 cases in your area." bot_says = fulfillmentText if db.conversations.find({ "sessionID": sessionID }).count() > 0: db.conversations.update_one( {"sessionID": sessionID}, { "$push": { "events": { "$each": [user_says, bot_says] } } }) else: db.conversations.insert_one({ "sessionID": sessionID, "events": [user_says, bot_says] }) return {"fulfillmentText": fulfillmentText} else: fulfillmentText = "Sorry we did not found any data of COVID-19 in " + district + ". It might be a misspelling or we don't have record of the district." bot_says = fulfillmentText if db.conversations.find({ "sessionID": sessionID }).count() > 0: db.conversations.update_one( {"sessionID": sessionID}, { "$push": { "events": { "$each": [user_says, bot_says] } } }) else: db.conversations.insert_one({ "sessionID": sessionID, "events": [user_says, bot_says] }) return {"fulfillmentText": fulfillmentText} except HTTPError as http_err: print(f"HTTP error occurred: {http_err}") except Exception as err: print(f"Other error occurred: {err}") except HTTPError as http_err: print(f"HTTP error occurred: {http_err}") except Exception as err: print(f"Other error occurred: {err}")
def getUserDetails(req): result = req.get("queryResult") user_says = result.get("queryText") name = result.get("parameters").get("user_name") email = result.get("parameters").get("user_mail") mobile = result.get("parameters").get("user_phone") pincode = result.get("parameters").get("user_pin") try: url = "https://api.postalpincode.in/pincode/" + pincode res = requests.get(url) jsonRes = res.json() postOffice = jsonRes[0]["PostOffice"] state = str(postOffice[0]["State"]) if "&" in state: state = state.replace("&", "and") district = str(postOffice[0]["District"]) if "&" in district: district = district.replace("&", "and") if district == "Ahmedabad": district = "Ahmadabad" elif district == "Bangalore": district = "Bengaluru" elif district == "Central Delhi": district = "New Delhi" print(state, end=',') print(district) try: url1 = "https://api.covid19india.org/v2/state_district_wise.json" res1 = requests.get(url1) jsonRes1 = res1.json() stateDistrictData = jsonRes1 for i in range(len(stateDistrictData)): stateDistrictData1 = stateDistrictData[i] if stateDistrictData1["state"] == state: districtData = stateDistrictData1["districtData"] for j in range(len(districtData)): email_sender = EmailSender() if districtData[j]["district"] == district: confirmed = str(districtData[j]["confirmed"]) print(f"\n Confirmed Cases are: {confirmed}") email_file = open( "email-templates/email-template-district.html", "r") email_message = email_file.read() email_sender.sendEmailDistrict( name, email, district, confirmed, email_message) fulfillmentText = "A mail has been sent to you with current COVID-19 cases in your area." bot_says = fulfillmentText return {"fulfillmentText": fulfillmentText} else: fulfillmentText = "Sorry we did not found any data of COVID-19 in " + district + ". It might be a misspelling or we don't have record of the district." bot_says = fulfillmentText return {"fulfillmentText": fulfillmentText} except HTTPError as http_err: print(f"HTTP error occurred: {http_err}") except Exception as err: print(f"Other error occurred: {err}") except HTTPError as http_err: print(f"HTTP error occurred: {http_err}") except Exception as err: print(f"Other error occurred: {err}")