This repository was archived by the owner on Dec 18, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.py
More file actions
57 lines (45 loc) · 1.85 KB
/
server.py
File metadata and controls
57 lines (45 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from flask import Flask, render_template, request, redirect, url_for, session, flash, get_flashed_messages
import data_manager
import util
app = Flask(__name__)
app.secret_key = 'apiwars'
@app.route('/')
def index():
return render_template("index.html")
@app.route("/register", methods=['GET', 'POST'])
def register():
if request.method == 'POST':
if request.form['username'] == "" or request.form['password'] == "":
flash("Please, fill in both fields.", "error")
elif data_manager.is_username(request.form['username']) == 'TRUE':
flash("Username already exists, please choose another one!", "error")
else:
flash("Successful registration. Log in to continue.")
username = request.form['username']
password = request.form['password']
hashed_password = util.hash_password(password)
data_manager.registration(username, hashed_password)
return render_template('registration.html')
@app.route('/login', methods=['GET', 'POST'])
def login():
usernames = data_manager.get_usernames()
if request.method == 'POST':
if request.form['username'] in usernames:
username = request.form['username']
password = request.form['password']
if util.verify_password(password, data_manager.get_user_password(username)):
session['username'] = username
session['id'] = data_manager.get_user_id_by_user_name(username)['id']
return redirect("/")
else:
flash('Wrong username or password.')
else:
flash('Wrong username or password.')
return render_template('login.html')
@app.route("/logout")
def logout():
session.pop('username', None)
session.pop('id', None)
return redirect("/")
if __name__ == "__main__":
app.run(debug=True)