added @login_requried, fixes #6
parent
fb10657e60
commit
b02ba38eea
74
app.py
74
app.py
|
@ -15,6 +15,7 @@ from io import BytesIO
|
|||
import logging
|
||||
logger = logging.getLogger()
|
||||
|
||||
from functools import wraps
|
||||
|
||||
from EagleEyev3 import *
|
||||
from settings import config
|
||||
|
@ -67,6 +68,15 @@ Session(app)
|
|||
# switch_account GET /switch_account
|
||||
|
||||
|
||||
def login_required(f):
|
||||
@wraps(f)
|
||||
def decorated_function(*args, **kwargs):
|
||||
if 'een' not in session:
|
||||
return redirect(url_for('landing'))
|
||||
|
||||
return f(*args, **kwargs)
|
||||
return decorated_function
|
||||
|
||||
|
||||
|
||||
@app.route('/landing')
|
||||
|
@ -86,13 +96,10 @@ def landing():
|
|||
|
||||
|
||||
@app.route('/')
|
||||
@login_required
|
||||
def index():
|
||||
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
session['een'] = een
|
||||
een = session['een']
|
||||
|
||||
# using current_user as a proxy for an established valid session
|
||||
if een.access_token == None:
|
||||
|
@ -146,10 +153,9 @@ def login_callback():
|
|||
# This is getting the ?code= querystring value from the HTTP request.
|
||||
code = request.args.get('code')
|
||||
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
# create a new een object and store it in their session
|
||||
een = EagleEyev3(config)
|
||||
session['een'] = een
|
||||
|
||||
|
||||
if (code):
|
||||
|
@ -161,6 +167,7 @@ def login_callback():
|
|||
|
||||
|
||||
@app.route('/logout')
|
||||
@login_required
|
||||
def logout():
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
|
@ -172,11 +179,10 @@ def logout():
|
|||
|
||||
|
||||
@app.route('/cameras')
|
||||
@login_required
|
||||
def cameras():
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
|
||||
een = session['een']
|
||||
|
||||
logging.debug(een.get_list_of_cameras())
|
||||
|
||||
|
@ -192,11 +198,10 @@ def cameras():
|
|||
|
||||
|
||||
@app.route('/accounts')
|
||||
@login_required
|
||||
def accounts():
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
|
||||
een = session['een']
|
||||
|
||||
een.get_list_of_accounts()
|
||||
|
||||
|
@ -210,15 +215,12 @@ def accounts():
|
|||
|
||||
|
||||
@app.route('/switch_account')
|
||||
@login_required
|
||||
def switch_account():
|
||||
# This is getting the ?account= querystring value from the HTTP request.
|
||||
account = request.args.get('account')
|
||||
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
|
||||
een = session['een']
|
||||
|
||||
if (account):
|
||||
# switch into account
|
||||
|
@ -231,11 +233,10 @@ def switch_account():
|
|||
|
||||
|
||||
@app.route('/camera/<esn>/preview_image')
|
||||
@login_required
|
||||
def camera__preivew_image(esn=None):
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
|
||||
een = session['een']
|
||||
|
||||
camera = een.get_camera_by_id(esn)
|
||||
res = camera.get_live_preview()
|
||||
|
@ -247,11 +248,10 @@ def camera__preivew_image(esn=None):
|
|||
|
||||
|
||||
@app.route('/camera/<esn>/preview')
|
||||
@login_required
|
||||
def camera_live_preivew(esn=None):
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
|
||||
een = session['een']
|
||||
|
||||
camera = een.get_camera_by_id(esn)
|
||||
|
||||
|
@ -265,11 +265,10 @@ def camera_live_preivew(esn=None):
|
|||
|
||||
@app.route("/camera/<esn>/events/<int:days>")
|
||||
@app.route('/camera/<esn>/events')
|
||||
@login_required
|
||||
def camera_detail(esn=None, days=DAYS_OF_HISTORY):
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
|
||||
een = session['een']
|
||||
|
||||
camera = een.get_camera_by_id(esn)
|
||||
now = een.time_now()
|
||||
|
@ -289,11 +288,10 @@ def camera_detail(esn=None, days=DAYS_OF_HISTORY):
|
|||
|
||||
|
||||
@app.route('/camera/<esn>/status_plot')
|
||||
@login_required
|
||||
def camera_status_plot(esn=None):
|
||||
if 'een' in session:
|
||||
een = session['een']
|
||||
else:
|
||||
een = EagleEyev3(config)
|
||||
|
||||
een = session['een']
|
||||
|
||||
cam = een.get_camera_by_id(esn)
|
||||
|
||||
|
|
Loading…
Reference in New Issue