-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchecker.py
51 lines (44 loc) · 1.39 KB
/
checker.py
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
"""
Function Decoration class to check for credentials
"""
from functools import wraps
from flask import redirect, flash, session, url_for, request
def home_logged_in(func):
"""
Function: home_logged_in
Input: function
Returns: Decorator to check if session is logged in when accessing home
"""
@wraps(func)
def wrapper(*args, **kwargs):
if 'logged_in' in session:
return func(*args, **kwargs)
return redirect(url_for('login'))
return wrapper
def check_logged_in(func):
"""
Function: check_logged_in
Input: function
Returns: Decorator to check if session is logged in
"""
@wraps(func)
def wrapper(*args, **kwargs):
if 'logged_in' in session:
return func(*args, **kwargs)
flash("You need to login first.", "danger")
return redirect(url_for('login'))
return wrapper
def wrong_info(func):
"""
Function: wrong_info
Input: function
Returns: Decorator to check if user entered right credentials
"""
@wraps(func)
def wrapper(*args, **kwargs):
if (request.form['username'] != 'admin' or request.form['password'] != 'password'):
flash("You did not enter the right credentials.", "danger")
return redirect(url_for('login'))
flash("You successfully logged in!", "success")
return func(*args, **kwargs)
return wrapper