Skip to content

Instantly share code, notes, and snippets.

@comfuture
Created January 15, 2011 06:51
Show Gist options
  • Save comfuture/780754 to your computer and use it in GitHub Desktop.
Save comfuture/780754 to your computer and use it in GitHub Desktop.
python decorator trick (can have options or not)
def fb_session_required(arg1=True):
verify = arg1 is True
def decorate(f):
@wraps(f)
def check(*args, **kwargs):
if not request.values.has_key('fb_sig_session_key'):
return "Requires facebook session", 403
if verify and get_access_token(use_cache=False):
return "Requires valid facebook session", 403
return f(*args, **kwargs)
return check
return verify and decorate or decorate(arg1)
@app.route('/session_required')
@fb_session_required
def session_required():
return 'facebook session exists'
@app.route('/valid_session_required')
@fb_session_required(True)
def valid_session_required():
return 'valid facebook session exists'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment