from flask import Flask, render_template, request, jsonify, abort
import pickle
from flask.helpers import make_response
import numpy as np

app = Flask(__name__)  

model = pickle.load(open('iwqi.pkl','rb')) 

@app.route('/', methods=['GET', 'POST'])
def home():
    #return render_template('index.html')

#@app.route('/predict',methods=['POST', 'GET'])
#def predict():
    #output = 3
    if request.method == 'POST':
        EC = request.form.get('ec')
        print (EC, type(EC))
        EC = float(EC)
        SAR = request.form.get('sar')
        print (SAR)
        SAR = float(SAR)
        Cl = request.form.get('cl')
        print (Cl)
        Cl = float (Cl)
        NO3 = request.form.get('no3')
        print (NO3)
        NO3 = float (NO3)
        HCO3 = request.form.get('hco')
        print (HCO3)
        HCO3 = float (HCO3)
        Trace = request.form.get('tr')
        print (Trace)
        Trace = float (Trace)
        int_features = [int(x) for x in request.form.values()]
        final_features = [np.array(int_features)]
        prediction = model.predict (final_features)
        output = round(prediction[0], 2)
    try:
        print (output)
        return make_response(render_template('index.html', output = output))
    except:
        return render_template("index.html")

#@app.route('/results',methods=['POST'])
#def results():

    #data = request.get_json(force=True)
    #prediction = model.predict([np.array(list(data.values()))])

    #output = prediction[0]
    #return jsonify(output)
    

if __name__ == "__main__":
    app.run(debug=True)