î

_ÝV“  ã               @   s<   Gd  d „  d e  ƒ Z Gd d „  d e  ƒ Z d d „  Z d S)c               @   sX   e  Z d  Z d 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/tmp/pip-build-ghmbqnp_/Django/django/contrib/auth/context_processors.pyÚ__init__   s    zPermLookupDict.__init__c             C   s   t  |  j j ƒ  ƒ S)N)Ústrr   Zget_all_permissions)r   r   r   r   Ú__repr__	   s    zPermLookupDict.__repr__c             C   s   |  j  j d |  j | f ƒ S)Nz%s.%s)r   Zhas_permr   )r   Ú	perm_namer   r   r   Ú__getitem__   s    zPermLookupDict.__getitem__c             C   s   t  d ƒ ‚ d  S)NzPermLookupDict is not iterable.)Ú	TypeError)r   r   r   r   Ú__iter__   s    zPermLookupDict.__iter__c             C   s   |  j  j |  j ƒ S)N)r   Zhas_module_permsr   )r   r   r   r   Ú__bool__   s    zPermLookupDict.__bool__c             C   s   t  |  ƒ j |  ƒ S)N)Útyper   )r   r   r   r   Ú__nonzero__   s    zPermLookupDict.__nonzero__N)	Ú__name__Ú
__module__Ú__qualname__r   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)N)r   )r   r   r   r   r   r      s    zPermWrapper.__init__c             C   s   t  |  j | ƒ S)N)r   r   )r   r   r   r   r   r      s    zPermWrapper.__getitem__c             C   s   t  d ƒ ‚ d  S)NzPermWrapper is not iterable.)r   )r   r   r   r   r   "   s    zPermWrapper.__iter__c             C   s>   d | k r t  |  | ƒ S| j 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   sL   t  |  d ƒ r |  j } n d d l m } | ƒ  } i | d 6t | ƒ d 6S)zÉ
    Returns context variables required by apps that use Django's authentication
    system.

    If there is no 'user' attribute in the request, uses AnonymousUser (from
    django.contrib.auth).
    r   é    )ÚAnonymousUserZperms)Úhasattrr   Zdjango.contrib.auth.modelsr   r   )Úrequestr   r   r   r   r   Úauth1   s    	r   N)Úobjectr   r   r   r   r   r   r   Ú<module>   s   