Skip to content

Instantly share code, notes, and snippets.

@flyx
Created October 20, 2012 16:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save flyx/3923850 to your computer and use it in GitHub Desktop.
Save flyx/3923850 to your computer and use it in GitHub Desktop.
foo
def authenticated(func):
def wrapped_func():
if 'userid' in session:
return func(user=db_session.query(User).filter(User.id == session['userid']).one())
else:
return redirect('/user/login')
return wrapped_func
@app.route('/')
@authenticated
def index(**vars):
print "Index"
return render_template('index.html', title="Home", **vars)
@app.route('/user/login', methods=["GET", "POST"])
def login():
if request.method == 'POST':
name = request.form['username']
try:
user = db_session.query(User).filter(User.name == name).one()
except NoResultFound:
root = Category('Root', 'Root category')
db_session.add(root)
user = User(name, root)
db_session.add(user)
db_session.commit()
session['userid'] = user.id
return redirect('/')
else:
return render_template('login.html', title="Login")
@app.route('/user/logout', methods=["GET"])
@authenticated
def logout(**vars):
print "Logging out"
del(session['userid'])
return redirect('/user/login')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment