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