Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
dj-kaos-utils / perms.py
Size: Mime:
from django.contrib.auth import get_permission_codename

from dj_kaos_utils.string import remove_suffix


def get_permission_name(opts, action):
    codename = get_permission_codename(action, opts)
    return f'{opts.app_label}.{codename}'


def get_action_name(opts, codename):
    return remove_suffix(codename, f'_{opts.model_name}')


def extract_permission_codename(perm_name):
    return perm_name.split('.', maxsplit=1)[-1]


__all__ = (
    'get_permission_name',
    'get_action_name',
    'extract_permission_codename',
)