Beispiel #1
0
        def updated(*args, **kwargs):
            original = f(*args, **kwargs)

            def newdecorator(view):
                return decorator.new_wrapper(original(view), view)

            return decorator.new_wrapper(newdecorator, original)
Beispiel #2
0
        def updated(*args, **kwargs):
            original = f(*args, **kwargs)

            def newdecorator(view):
                return decorator.new_wrapper(original(view), view)

            return decorator.new_wrapper(newdecorator, original)
Beispiel #3
0
 def newdecorator(view):
     return decorator.new_wrapper(original(view), view)
Beispiel #4
0
 def newdecorator(view):
     return decorator.new_wrapper(original(view), view)
Beispiel #5
0
            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)