U
    Æ½„b  ã                   @   st   d dl Z zd dlmZmZ W n$ ek
r@   d dlmZmZ Y nX G dd„ deƒZG dd„ dƒZedƒZ	edƒZ
dS )	é    N)ÚreverseÚreverse_lazyc                   @   s   e Zd ZdS )ÚRemovedInDjango20WarningN)Ú__name__Ú
__module__Ú__qualname__© r   r   úC/tmp/pip-unpacked-wheel-cvqxdfy5/rest_framework_simplejwt/compat.pyr   	   s   r   c                   @   s\   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ ZdS )ÚCallableBoolzS
    An boolean-like object that is also callable for backwards compatibility.
    Tc                 C   s
   || _ d S ©N©Úvalue)Úselfr   r   r   r	   Ú__init__   s    zCallableBool.__init__c                 C   s   | j S r   r   ©r   r   r   r	   Ú__bool__   s    zCallableBool.__bool__c                 C   s   t jdtdd� | jS )Nz‚Using user.is_authenticated() and user.is_anonymous() as a method is deprecated. Remove the parentheses to use it as an attribute.é   )Ú
stacklevel)ÚwarningsÚwarnr   r   r   r   r   r	   Ú__call__   s    üzCallableBool.__call__c                 C   s   | j S r   r   r   r   r   r	   Ú__nonzero__#   s    zCallableBool.__nonzero__c                 C   s
   d| j  S )NzCallableBool(%r)r   r   r   r   r	   Ú__repr__&   s    zCallableBool.__repr__c                 C   s
   | j |kS r   r   ©r   Úotherr   r   r	   Ú__eq__)   s    zCallableBool.__eq__c                 C   s
   | j |kS r   r   r   r   r   r	   Ú__ne__,   s    zCallableBool.__ne__c                 C   s   t | jp
|ƒS r   )Úboolr   r   r   r   r	   Ú__or__/   s    zCallableBool.__or__c                 C   s
   t | jƒS r   )Úhashr   r   r   r   r	   Ú__hash__2   s    zCallableBool.__hash__N)r   r   r   Ú__doc__Zdo_not_call_in_templatesr   r   r   r   r   r   r   r   r    r   r   r   r	   r
      s   	r
   FT)r   Zdjango.urlsr   r   ÚImportErrorZdjango.core.urlresolversÚDeprecationWarningr   r
   ZCallableFalseZCallableTruer   r   r   r	   Ú<module>   s   )