o
    ŒMf  ã                   @   s(   G d d„ dƒZ G dd„ dƒZdd„ ZdS )c                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚPermLookupDictc                 C   s   ||| _ | _d S ©N)ÚuserÚ	app_label)Úselfr   r   © r   úh/var/www/html/analyze/labelStudio/lib/python3.10/site-packages/django/contrib/auth/context_processors.pyÚ__init__   s   zPermLookupDict.__init__c                 C   s   t | j ¡ ƒS r   )Ústrr   Úget_all_permissions©r   r   r   r   Ú__repr__	   ó   zPermLookupDict.__repr__c                 C   s   | j  d| j|f ¡S )Nz%s.%s)r   Úhas_permr   )r   Ú	perm_namer   r   r   Ú__getitem__   s   zPermLookupDict.__getitem__c                 C   ó   t dƒ‚)NzPermLookupDict is not iterable.©Ú	TypeErrorr   r   r   r   Ú__iter__   s   zPermLookupDict.__iter__c                 C   s   | j  | j¡S r   )r   Úhas_module_permsr   r   r   r   r   Ú__bool__   r   zPermLookupDict.__bool__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s    r   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚPermWrapperc                 C   s
   || _ d S r   )r   )r   r   r   r   r   r      s   
zPermWrapper.__init__c                 C   s   t | j|ƒS r   )r   r   )r   r   r   r   r   r      s   zPermWrapper.__getitem__c                 C   r   )NzPermWrapper is not iterable.r   r   r   r   r   r      s   zPermWrapper.__iter__c                 C   s0   d|vr
t | | ƒS | dd¡\}}| | | S )zE
        Lookup by "someapp" or "someapp.someperm" in perms.
        Ú.é   )ÚboolÚsplit)r   r   r   r   r   r   Ú__contains__#   s   zPermWrapper.__contains__N)r   r   r   r   r   r   r   r   r   r   r   r      s
    r   c                 C   s2   t | dƒr	| j}n	ddlm} |ƒ }|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&   N)r   r   r&   r   r   r   r   Ú<module>   s   