PageRenderTime 36ms CodeModel.GetById 25ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/shabti/templates/auth_rdfalchemy/+package+/lib/decorators.py_tmpl

https://bitbucket.org/gawel/shabti
Unknown | 19 lines | 15 code | 4 blank | 0 comment | 0 complexity | 2ea11ace243b567828f3cd11eb040c9d MD5 | raw file
 1import pylons
 2from decorator import decorator
 3from {{package}}.lib.auth import redirect_to_login
 4
 5import logging
 6log = logging.getLogger(__name__)
 7
 8def authorize(permission):
 9    
10    """Decorator for authenticating individual actions. Takes a permission 
11    instance as argument(see lib/permissions.py for examples)"""
12    def wrapper(func, self, *args, **kw):
13        if permission.check():
14            return func(self, *args, **kw)
15        pylons.session['redirect'] = pylons.request.environ['pylons.routes_dict']
16        pylons.session.save()
17        redirect_to_login()
18    return decorator(wrapper)
19