human
I wrote the below code

    def decorator(f):
        @login_required
        @functools.wraps(f)
        def wrapper(request, *args, **kw):
            reviewer_perm = acl.check_reviewer(request)
            moderator_perm = (moderator and acl.action_allowed(request, 'Apps', 'ModerateReview'))
            view_only = ((request.method == 'GET') and acl.action_allowed(request, 'ReviewerTools', 'View'))
            if (reviewer_perm or moderator_perm or view_only):
                return f(request, *args, **kw)
            else:
                raise PermissionDenied
        return wrapper
    if callable(region):
        return decorator(region)
    else:
        return decorator

What's a good function header?
 Here's a good function header?
assistant
#Here's a good function header.

def reviewer_required(region=None, moderator=False):