from flask import Flask
from flask import session
from flask import request
from flask import json
from flask import render_template
from flask import redirect
from flask import session
from flask import url_for
import uuid
import redis
r = redis.Redis()
sid = str(uuid.uuid4())
user = {"users": [{"password": "Sikorski", "username": "Andrzej"}, {"password": "asdfg", "username": "admin"}]}
rval = json.dumps(user)
r.set('user1', rval)
app = Flask(__name__)
app.secret_key = b'0293jr i(UHoiawu hft923'
print('SID: '+sid)
@app.route('/sikorska/webapp')
def home():
if 'username' in session:
return "OK"
# return render_template('upload.html')
return redirect(url_for('login'))
@app.route('/sikorska/webapp/login', methods=['GET', 'POST'])
def login():
if 'username' in session:
return redirect(url_for('home'))
error = None
if request.method == 'POST':
if login_check(request.form['username'], request.form['password']):
session['username'] = request.form['username']
# session['uuid'] = uuid.uuid4()
return redirect(url_for('home'))
else:
error = "Invalid Credentials. Please try again."
return render_template('loginpg.html', error=error)
@app.route('/sikorska/webapp/logout')
def logout():
session.pop('username', None)
#session['uuid'] = None
return redirect(url_for('login'))
def login_check(username, password):
data = r.get('user1')
result = json.loads(data)
for row in result['users']:
if row['username'] == username:
if row['password'] == password:
return True
return False
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}