2020-03-02 14:20:17 -06:00
|
|
|
try:
|
|
|
|
from .lib.helpers import get_static_paths, get_content_text
|
2020-03-02 22:21:02 -06:00
|
|
|
from .lib.classUser import User
|
2020-03-02 14:20:17 -06:00
|
|
|
except:
|
2020-03-02 22:21:02 -06:00
|
|
|
from lib.classUser import User
|
2020-03-02 14:20:17 -06:00
|
|
|
from lib.helpers import get_static_paths, get_content_text
|
|
|
|
from . import app
|
2020-03-01 18:53:42 -06:00
|
|
|
from flask import Flask, render_template, redirect, url_for, request
|
2020-03-02 22:21:02 -06:00
|
|
|
from flask_login import LoginManager, UserMixin, login_required
|
2020-03-01 22:23:43 -06:00
|
|
|
|
2020-03-02 22:21:02 -06:00
|
|
|
login_manager = LoginManager()
|
|
|
|
login_manager.init_app(app)
|
2020-03-01 22:23:43 -06:00
|
|
|
|
2020-03-02 22:21:02 -06:00
|
|
|
|
|
|
|
@login_manager.user_loader
|
|
|
|
def load_user(request):
|
|
|
|
token = request.headers.get('Authorization')
|
|
|
|
if(token is None):
|
|
|
|
token = request.args.get('token')
|
|
|
|
|
|
|
|
if(token is not None):
|
|
|
|
username, password = token.split(':') # naive token
|
|
|
|
user_entry = User.get(username)
|
|
|
|
if(user_entry is not None):
|
|
|
|
user = User(user_entry[0], user_entry[1])
|
|
|
|
if(user.password == password):
|
|
|
|
return user
|
|
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
2020-03-01 22:23:43 -06:00
|
|
|
@app.route('/home', methods=['GET'])
|
|
|
|
def home():
|
|
|
|
return render_template('home/index.html', user='admin', static_paths=get_static_paths(), content_text=get_content_text())
|
2020-03-01 18:53:42 -06:00
|
|
|
|
2020-03-01 21:00:01 -06:00
|
|
|
|
2020-03-01 18:53:42 -06:00
|
|
|
@app.route('/login', methods=['GET', 'POST'])
|
|
|
|
def login():
|
|
|
|
if(request.method == 'POST'):
|
2020-03-01 18:54:10 -06:00
|
|
|
if request.form['username'] != 'admin' or request.form['password'] != 'admin':
|
|
|
|
error = 'Invalid Credentials. Please try again.'
|
|
|
|
else:
|
|
|
|
return redirect(url_for('home'))
|
2020-03-01 18:53:42 -06:00
|
|
|
elif(request.method == 'GET'):
|
2020-03-01 21:00:01 -06:00
|
|
|
return render_template('login/index.html', static_paths=get_static_paths(), content_text=get_content_text())
|
2020-03-01 18:53:42 -06:00
|
|
|
return 'ERROR: Invalid method.'
|
|
|
|
|
2020-03-01 21:00:01 -06:00
|
|
|
|
2020-03-01 18:53:42 -06:00
|
|
|
@app.route("/", methods=['GET'])
|
|
|
|
def hello():
|
2020-03-01 21:00:01 -06:00
|
|
|
return render_template('homepage.html', static_paths=get_static_paths(), content_text=get_content_text())
|
|
|
|
|
2020-03-01 18:53:42 -06:00
|
|
|
|
|
|
|
def main():
|
2020-03-01 21:00:01 -06:00
|
|
|
app.run(host='0.0.0.0', debug=True)
|
2020-03-02 22:21:02 -06:00
|
|
|
|
|
|
|
|
|
|
|
'''
|
|
|
|
@app.route("/", methods=["GET"])
|
|
|
|
def index():
|
|
|
|
return Response(response="Hello World!", status=200)
|
|
|
|
|
|
|
|
|
|
|
|
@app.route("/protected/", methods=["GET"])
|
|
|
|
@login_required
|
|
|
|
def protected():
|
|
|
|
return Response(response="Hello Protected World!", status=200)
|
|
|
|
'''
|