def updated(*args, **kwargs): original = f(*args, **kwargs) def newdecorator(view): return decorator.new_wrapper(original(view), view) return decorator.new_wrapper(newdecorator, original)
def newdecorator(view): return decorator.new_wrapper(original(view), view)
if internal and request.method == 'GET' and fb.app_name: return fb.redirect('%s%s' % (fb.get_app_url(), next)) return view(request, *args, **kwargs) newview.next = next newview.internal = internal return newview return decorator # try to preserve the argspecs try: import decorator except ImportError: pass else: require_login = lambda f: decorator.new_wrapper(require_login(f), f) require_add = lambda f: decorator.new_wrapper(require_add(f), f) class FacebookMiddleware(object): """ Middleware that attaches a Facebook object to every incoming request. The Facebook object created can also be accessed from models for the current thread by using get_facebook_client(). """ def __init__(self, api_key=None, secret_key=None, app_name=None, callback_path=None, internal=None): self.api_key = api_key or settings.FACEBOOK_API_KEY self.secret_key = secret_key or settings.FACEBOOK_SECRET_KEY self.app_name = app_name or getattr(settings, 'FACEBOOK_APP_NAME', None) self.callback_path = callback_path or getattr(settings, 'FACEBOOK_CALLBACK_PATH', None)