def check_permission(user): def decorator(func): def wrapper(*args, **kwargs): if user["access_level"] == "admin": return func(*args, **kwargs) raise Exception("No way!!!") return wrapper return decorator user = {"username": "jose", "access_level": "admin"} @check_permission(user) def get_admin_pass(): return "1234" print(get_admin_pass())