from flask import Flask
|
|
from flask import render_template
|
|
from flask import request
|
|
from flask import redirect,url_for
|
|
from code1.model import Model
|
|
import session
|
|
import socket
|
|
import random
|
|
from __init__ import predict,train,evaluate
|
|
#获取本机电脑名
|
|
|
|
|
|
app = Flask(__name__)
|
|
import user
|
|
import couplet
|
|
|
|
vocab_file = 'code1/data/vocabs'
|
|
model_dir = 'code1/output'
|
|
|
|
m = Model(
|
|
None, None, None, None, vocab_file,
|
|
num_units=1024, layers=4, dropout=0.2,
|
|
batch_size=32, learning_rate=0.0001,
|
|
output_dir=model_dir,
|
|
restore_model=True, init_train=False, init_infer=True)
|
|
|
|
|
|
@app.route("/")
|
|
def index():
|
|
return render_template("homepage.html",ip=ip)
|
|
|
|
@app.route("/homepage",methods=['GET'])
|
|
def homepage():
|
|
return render_template("homepage.html",ip=ip)
|
|
|
|
@app.route("/game1",methods=['GET','post'])
|
|
def game1():
|
|
if request.method == 'GET':
|
|
return render_template("game1.html",ip=ip)
|
|
else:
|
|
upper = request.form.get("upper", "")
|
|
input=upper
|
|
lower=m.infer(' '.join(input))
|
|
lower = ''.join(lower.split(' '))
|
|
return render_template("game1_result.html",lower=lower,upper=upper,ip=ip)
|
|
|
|
@app.route("/judge",methods=['GET','POST'])
|
|
def judge():
|
|
result= request.form.get("result", "")
|
|
upper = request.form.get("upper")
|
|
lower = request.form.get("lower")
|
|
u = couplet.Couplet()
|
|
if(int(result)==1):
|
|
u.to_evaluation(up=upper,down=lower)
|
|
else:
|
|
u.to_predict(up=upper,down=lower)
|
|
return render_template("game1_back.html",ip=ip)
|
|
|
|
@app.route("/game2",methods=['GET','post'])
|
|
def game2():
|
|
if request.method == 'GET':
|
|
u = couplet.Couplet()
|
|
pre = u.db_session.query(predict).all()
|
|
up=[]
|
|
for i in pre:
|
|
up.append(i.up)
|
|
up=up[random.randint(0, len(up)-1)]
|
|
return render_template("game2.html",up=up,ip=ip)
|
|
else:
|
|
up = request.form.get("up")
|
|
down= request.form.get("down")
|
|
u = couplet.Couplet()
|
|
u.to_evaluation(up=up,down=down)
|
|
return render_template("game2_back.html",ip=ip)
|
|
|
|
@app.route("/game3",methods=['GET','post'])
|
|
def game3():
|
|
if request.method == 'GET':
|
|
u = couplet.Couplet()
|
|
pre = u.db_session.query(evaluate).all()
|
|
up=[]
|
|
down=[]
|
|
for i in pre:
|
|
up.append(i.up)
|
|
down.append(i.down)
|
|
temp=random.randint(0,len(up)-1)
|
|
up=up[temp]
|
|
down=down[temp]
|
|
return render_template("game3.html",up=up,down=down,ip=ip)
|
|
else:
|
|
result = request.form.get("result", "")
|
|
up = request.form.get("up")
|
|
down= request.form.get("down")
|
|
print(result,up,down)
|
|
if(result=='1'):
|
|
u = couplet.Couplet()
|
|
u.add_popular(up=up, down=down,popular=1)
|
|
else:
|
|
u = couplet.Couplet()
|
|
u.minus_popular(up=up, down=down, popular=1)
|
|
return render_template("game3_back.html",ip=ip)
|
|
|
|
@app.route("/register", methods=['GET',"POST"])
|
|
def register():
|
|
if request.method=='GET':
|
|
return render_template("register.html",ip=ip)
|
|
else:
|
|
user_id = request.form.get("user_id", "")
|
|
password = request.form.get("password", "")
|
|
u = user.Users()
|
|
code, message = u.register(user_id=user_id, password=password)
|
|
if code==200:
|
|
return """<a href="http://{}/login" target="_self">注册成功,点击登陆</a> """.format(ip)
|
|
else:
|
|
return """<a href="http://{}/register" target="_self">注册失败,点击重新注册</a> """.format(ip)
|
|
|
|
|
|
@app.route("/login", methods=["GET","POST"])
|
|
def login():
|
|
if request.method=='GET':
|
|
return render_template("login.html")
|
|
else:
|
|
user_id = request.form.get("user_id", "")
|
|
password = request.form.get("password", "")
|
|
u = user.Users()
|
|
code, message = u.login(user_id=user_id, password=password)
|
|
if code==200:
|
|
return redirect(url_for('homepage'))
|
|
else:
|
|
return """<a href="http://{}/login" target="_self">用户名或密码错误,点击重新登陆</a> """.format(ip)
|
|
|
|
if __name__ == '__main__':
|
|
app.run("127.0.0.1",port=5000)
|