decorators.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:zing 作者: evernote 项目源码 文件源码
def requires_permission(permission):

    def class_wrapper(f):

        @functools.wraps(f)
        def method_wrapper(self, request, *args, **kwargs):
            directory_permission = check_directory_permission(
                permission, request, self.permission_context)
            check_class_permission = (
                directory_permission
                and hasattr(self, "required_permission")
                and permission != self.required_permission)
            if check_class_permission:
                directory_permission = check_directory_permission(
                    self.required_permission, request, self.permission_context)
            if not directory_permission:
                raise PermissionDenied(
                    _("Insufficient rights to access this page."), )
            return f(self, request, *args, **kwargs)
        return method_wrapper
    return class_wrapper
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号