File: //usr/lib/python3/dist-packages/django/contrib/auth/__pycache__/context_processors.cpython-310.pyc
o
3�a � @ s( G d d� d�Z G dd� d�Zdd� ZdS )c @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� ZdS )�PermLookupDictc C s ||| _ | _d S �N)�user� app_label)�selfr r � r �H/usr/lib/python3/dist-packages/django/contrib/auth/context_processors.py�__init__ s zPermLookupDict.__init__c C s t | j�� �S r )�strr �get_all_permissions�r r r r �__repr__ � zPermLookupDict.__repr__c C s | j �d| j|f �S )Nz%s.%s)r �has_permr )r � perm_namer r r �__getitem__ s zPermLookupDict.__getitem__c C � t d��)NzPermLookupDict is not iterable.�� TypeErrorr r r r �__iter__ s zPermLookupDict.__iter__c C s | j �| j�S r )r �has_module_permsr r r r r �__bool__ r
zPermLookupDict.__bool__N)�__name__�
__module__�__qualname__r r r r r r r r r r s r c @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S )
�PermWrapperc C s
|| _ d S r )r )r r r r r r s
zPermWrapper.__init__c C s t | j|�S r )r r )r r r r r r s zPermWrapper.__getitem__c C r )NzPermWrapper is not iterable.r r r r r r s zPermWrapper.__iter__c C s0 d|vr
t | | �S |�dd�\}}| | | S )zE
Lookup by "someapp" or "someapp.someperm" in perms.
�.� )�bool�split)r r r r r r �__contains__# s zPermWrapper.__contains__N)r r r r r r r r r r r r s
r c C s2 t | d�r | j}n ddlm} |� }|t|�d�S )z�
Return context variables required by apps that use Django's authentication
system.
If there is no 'user' attribute in the request, use AnonymousUser (from
django.contrib.auth).
r � )�
AnonymousUser)r �perms)�hasattrr �django.contrib.auth.modelsr! r )�requestr r! r r r �auth. s
�r&