ruchi
login and register
27a7270
from flask import Flask, render_template, request, session
from scripts.utils import listNeeds, generatePropositionExample, evaluateProposition
from scripts.db_util import insert_user, fetch_user, UserNotFoundError
app = Flask(__name__)
app.secret_key = 'HrRdpsuJjIiOiPVdpqUk'
@app.route("/")
def index():
return render_template("index.html")
@app.route("/login", methods = ['POST', 'GET'])
def login():
if request.method == 'GET':
return render_template("login.html")
else:
userName = request.form['username']
password = request.form['password']
try:
user = fetch_user(userName, password)
session['userName'] = user['user_name']
session['teamName'] = user['team_name']
session['emailAddress'] = user['email_address']
return render_template("index.html")
except UserNotFoundError:
return render_template("login.html", msg="Username or password is incorrect. Please try again")
@app.route("/register", methods = ['POST', 'GET'])
def register():
if request.method == 'GET':
return render_template("register.html")
else:
userName = request.form['username']
teamName = request.form['teamName']
emailAddress = request.form['email']
password = request.form['password']
insert_user(userName, teamName, emailAddress, password)
return render_template("login.html", msg="Thank you for Registering with us. Please login with your details")
@app.route("/game")
def startGame():
moneyNeeds,_ = listNeeds('money_needs')
customerExpNeeds,_ = listNeeds('customer_exp')
sustainabilityNeeds,_ = listNeeds('sustainability')
return render_template("newGame.html", moneyNeeds=moneyNeeds, customerExpNeeds=customerExpNeeds, sustainabilityNeeds=sustainabilityNeeds)
@app.route("/generate-proposition", methods = ['POST'])
def generateProposition():
print("Proposition generated")
productType = request.form['productType']
productName = request.form['productName']
moneyNeeds = request.form.getlist('moneyNeeds')
customerExpNeeds = request.form.getlist('customerExpNeeds')
sustainabilityNeeds = request.form.getlist('sustainabilityNeeds')
generatedProposition = generatePropositionExample(productName, productType, moneyNeeds, customerExpNeeds, sustainabilityNeeds)
print(generatedProposition)
return generatedProposition
@app.route("/submit-proposition", methods = ['POST'])
def submitProposition():
print("Proposition submitted")
city = request.form['city']
productType = request.form['productType']
subcount1 = request.form['subcount1']
subcount2 = request.form['subcount2']
subcount3 = request.form['subcount3']
productName = request.form['productName']
moneyNeeds = request.form.getlist('moneyNeeds')
customerExpNeeds = request.form.getlist('customerExpNeeds')
sustainabilityNeeds = request.form.getlist('sustainabilityNeeds')
proposition = request.form['proposition']
matchingTopologies, predictedSubscriberTakeOut = evaluateProposition(city, productType, proposition, moneyNeeds, customerExpNeeds, sustainabilityNeeds)
return {'matchingTopologies': matchingTopologies, 'predictedSubscriberTakeOut': predictedSubscriberTakeOut, 'subscriberDiff': predictedSubscriberTakeOut-int(subcount3)}
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=5000)