|
|
@ -1,6 +1,6 @@ |
|
|
# -*- coding: utf8 -* |
|
|
# -*- coding: utf8 -* |
|
|
|
|
|
|
|
|
from flask import Flask, request, session, g, redirect, url_for, \ |
|
|
from flask import Flask, request, g, redirect, url_for, \ |
|
|
abort, render_template, flash |
|
|
abort, render_template, flash |
|
|
|
|
|
|
|
|
from functools import wraps |
|
|
from functools import wraps |
|
|
@ -187,23 +187,11 @@ def playable_required(f): |
|
|
ip=get_ip() |
|
|
ip=get_ip() |
|
|
user = get_player_from_ip(ip) |
|
|
user = get_player_from_ip(ip) |
|
|
|
|
|
|
|
|
if 'ip' in session: |
|
|
if not user: |
|
|
# On enregistre l'ip afin d'éviter les problèmes lors du déplacement des user (rez <-> Supelec) |
|
|
|
|
|
session['ip'] = ip |
|
|
|
|
|
|
|
|
|
|
|
# Attention : un utilisateur inscrit ne peut pas être forcé à être |
|
|
|
|
|
# désinscrit s'il n'enlève pas son cookie de session. On évite la |
|
|
|
|
|
# réexécution de la requête. |
|
|
|
|
|
if 'subscribed' not in session or not session['subscribed'] or session['ip'] != ip: |
|
|
|
|
|
session['subscribed'] = user is not None |
|
|
|
|
|
session['ip'] = ip |
|
|
|
|
|
if DEBUG: |
|
|
|
|
|
print('New user : ',session) |
|
|
|
|
|
if not session['subscribed']: |
|
|
|
|
|
return render_template('not_subscribed.html') |
|
|
return render_template('not_subscribed.html') |
|
|
|
|
|
|
|
|
# Un utilisateur banni ne peut pas jouer |
|
|
# Un utilisateur banni ne peut pas jouer |
|
|
if user and is_banned(user['id']): |
|
|
elif is_banned(user['id']): |
|
|
return banned() |
|
|
return banned() |
|
|
|
|
|
|
|
|
return f(*args, **kwargs) |
|
|
return f(*args, **kwargs) |
|
|
@ -335,8 +323,7 @@ def banned_ip(): |
|
|
@app.route('/') |
|
|
@app.route('/') |
|
|
@playable_required |
|
|
@playable_required |
|
|
def home(): |
|
|
def home(): |
|
|
ip = get_ip() |
|
|
player = get_player_from_ip(get_ip()) |
|
|
player = get_player_from_ip(ip) |
|
|
|
|
|
|
|
|
|
|
|
#if ip not in ['10.69.8.5', '10.69.8.202']: |
|
|
#if ip not in ['10.69.8.5', '10.69.8.202']: |
|
|
# abort(403) |
|
|
# abort(403) |
|
|
@ -344,9 +331,6 @@ def home(): |
|
|
if DEBUG: |
|
|
if DEBUG: |
|
|
print(player, 'arrived') |
|
|
print(player, 'arrived') |
|
|
|
|
|
|
|
|
if session.get('logged_in'): |
|
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
bans = sorted(get_bans(player['id']), \ |
|
|
bans = sorted(get_bans(player['id']), \ |
|
|
key=lambda ban: ban['time'], \ |
|
|
key=lambda ban: ban['time'], \ |
|
|
reverse=True) |
|
|
reverse=True) |
|
|
@ -409,25 +393,5 @@ def play(): |
|
|
|
|
|
|
|
|
return render_template('play.html', players=players) |
|
|
return render_template('play.html', players=players) |
|
|
|
|
|
|
|
|
@app.route('/login', methods=['GET', 'POST']) |
|
|
|
|
|
def login(): |
|
|
|
|
|
error = None |
|
|
|
|
|
if request.method == 'POST': |
|
|
|
|
|
if request.form['username'] != app.config['USERNAME']: |
|
|
|
|
|
error = 'Invalid username' |
|
|
|
|
|
elif request.form['password'] != app.config['PASSWORD']: |
|
|
|
|
|
error = 'Invalid password' |
|
|
|
|
|
else: |
|
|
|
|
|
session['logged_in'] = True |
|
|
|
|
|
flash('You were logged in') |
|
|
|
|
|
return redirect(url_for('home')) |
|
|
|
|
|
return render_template('login.html', error=error) |
|
|
|
|
|
|
|
|
|
|
|
@app.route('/logout') |
|
|
|
|
|
def logout(): |
|
|
|
|
|
session.pop('logged_in', None) |
|
|
|
|
|
flash('You were logged out') |
|
|
|
|
|
return redirect(url_for('home')) |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
if __name__ == '__main__': |
|
|
app.run() |
|
|
app.run() |
|
|
|