JustCaptain kod-buduschego
d74c54749a2a9fa8a89ba4fb24a1b4af61cc19bc
Перейти к файлу
Код
kod-buduschego Python 2025-20264.4. Декораторpracticeschatgpttask_7.py
anc update c70a58f 8 октября 2026 г.
task_7.py
def require_role(role: str):
    def wrap(func): 
        def called(*args, **kwargs):
            user_role = args[0]["role"]
            if user_role != role:
                raise PermissionError
            result = func(*args, **kwargs)
            return result
        return called
    return wrap
    
@require_role("admin")
def delete_user(user: dict[str, str]) -> None:
    print("User deleted")

@require_role("view")
def create_post(user: dict[str, str], post: dict[str, str]) -> None:
    print("User create post")

user = {"role": "admin"}
user_no = {"role": "view"}
delete_user(user)
delete_user(user_no)