from flask import Flask, render_template, request, redirect, url_for from scripts.utils import listNeeds, generatePropositionExample, evaluateProposition app = Flask(__name__) @app.route("/") def index(): return render_template("index.html") @app.route("/login") def login(): return render_template("login.html") @app.route("/register") def register(): return render_template("register.html") @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(): 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) val = "matching topologies = {} and predictedSubscriberTakeOut = {}".format(",".join(matchingTopologies), predictedSubscriberTakeOut) print(val) return val if __name__ == "__main__": app.run(debug=True, host="0.0.0.0", port=5000)