64 lines
1.5 KiB
Python
64 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
# -*- encoding: utf-8 -*-
|
|
'''
|
|
@File : app.py
|
|
@Author: liuyihui
|
|
@Email : liuyihui02@gmail.com
|
|
'''
|
|
|
|
# here put the import lib
|
|
import os
|
|
from lib import *
|
|
from flask import Flask, request, redirect, render_template
|
|
|
|
P0, P1 = None, None
|
|
ses = get_session()
|
|
app = Flask(__name__, template_folder='./templates/', static_folder='./static/')
|
|
app.config['ROOT_FOLDER'] = os.path.abspath('.')
|
|
|
|
@app.route('/', methods=["GET"])
|
|
@app.route('/new', methods=["GET"])
|
|
def root():
|
|
global P0, P1
|
|
|
|
P0, P1 = match(ses)
|
|
return render_template(
|
|
'index.html',
|
|
p0src='./static/pic/{:d}.jpeg'.format(P0.id),
|
|
p0name=P0.name,
|
|
p0work=P0.work,
|
|
p1src='./static/pic/{:d}.jpeg'.format(P1.id),
|
|
p1name=P1.name,
|
|
p1work=P1.work
|
|
)
|
|
|
|
@app.route('/elo', methods=["GET"])
|
|
def elo_res():
|
|
global P0, P1
|
|
|
|
res = request.args.get('win')
|
|
set_result(P0, P1, int(res))
|
|
|
|
ses.commit()
|
|
P0, P1 = None, None
|
|
|
|
return redirect('/new')
|
|
|
|
@app.route('/list', methods=["GET"])
|
|
def rank_list():
|
|
b = int(request.args.get('b'))
|
|
len = int(request.args.get('len')) if request.args.get('len') else 10
|
|
|
|
res = get_rank(ses, b, len)
|
|
kw = dict()
|
|
for k in range(len):
|
|
kw["P{:d}rank".format(k)] = b + k
|
|
kw["P{:d}name".format(k)] = res[k].name
|
|
kw["P{:d}rate".format(k)] = '{:.2f}'.format(res[k].rate)
|
|
|
|
return render_template('list.html', **kw)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app.run(debug=True, host='0.0.0.0', port=4002)
|