This repository has been archived on 2021-12-30. You can view files and clone it, but cannot push or open issues or pull requests.
ELOStar/app.py

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)