Skip to content

Instantly share code, notes, and snippets.

@sly01
Created October 25, 2019 13:00
Show Gist options
  • Save sly01/b58b3ddfe170d486c3fa5343a065bceb to your computer and use it in GitHub Desktop.
Save sly01/b58b3ddfe170d486c3fa5343a065bceb to your computer and use it in GitHub Desktop.

Revisions

  1. sly01 created this gist Oct 25, 2019.
    23 changes: 23 additions & 0 deletions code.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    import functools

    user = {"username": "ahmet", "access_level": "guest" }

    def make_secure(access_level):
    def decarator(func):
    @functools.wraps(func)
    def secure_function(*args, **kwargs):
    if user["access_level"] == access_level:
    return func(*args, **kwargs)
    else:
    return f"No {access_level} permissions for {user['username']}."

    return secure_function
    return decorator

    @make_secure("admin")
    def get_admin_password():
    return "admin: 1234"

    @make_secure("guest")
    def get_dashboard_password():
    return "user: user_password"