o
    ôÏeÇ  ã                   @   s8   d Z ddlmZmZ G dd„ deƒZG dd„ deƒZdS )zW
    flask_login.mixins
    ------------------
    This module provides mixin objects.
é   )ÚPY2Ú	text_typec                   @   sV   e Zd ZdZesejZedd„ ƒZedd„ ƒZ	edd„ ƒZ
dd	„ Zd
d„ Zdd„ ZdS )Ú	UserMixinzr
    This provides default implementations for the methods that Flask-Login
    expects user objects to have.
    c                 C   ó   dS ©NT© ©Úselfr   r   ú?/qpanel/venv/lib/python3.10/site-packages/flask_login/mixins.pyÚ	is_active   ó   zUserMixin.is_activec                 C   r   r   r   r   r   r   r
   Úis_authenticated   r   zUserMixin.is_authenticatedc                 C   r   ©NFr   r   r   r   r
   Úis_anonymous   r   zUserMixin.is_anonymousc                 C   s$   zt | jƒW S  ty   tdƒ‚w )Nz%No `id` attribute - override `get_id`)r   ÚidÚAttributeErrorÚNotImplementedErrorr   r   r   r
   Úget_id#   s
   ÿzUserMixin.get_idc                 C   s   t |tƒr|  ¡ | ¡ kS tS )zP
        Checks the equality of two `UserMixin` objects using `get_id`.
        )Ú
isinstancer   r   ÚNotImplemented)r	   Úotherr   r   r
   Ú__eq__)   s   
zUserMixin.__eq__c                 C   s   |   |¡}|tu rtS | S )zR
        Checks the inequality of two `UserMixin` objects using `get_id`.
        )r   r   )r	   r   Úequalr   r   r
   Ú__ne__1   s   
zUserMixin.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚobjectÚ__hash__Úpropertyr   r   r   r   r   r   r   r   r   r
   r      s    


r   c                   @   s<   e Zd ZdZedd„ ƒZedd„ ƒZedd„ ƒZdd	„ Zd
S )ÚAnonymousUserMixinzH
    This is the default object for representing an anonymous user.
    c                 C   r   r   r   r   r   r   r
   r   ?   r   z#AnonymousUserMixin.is_authenticatedc                 C   r   r   r   r   r   r   r
   r   C   r   zAnonymousUserMixin.is_activec                 C   r   r   r   r   r   r   r
   r   G   r   zAnonymousUserMixin.is_anonymousc                 C   s   d S )Nr   r   r   r   r
   r   K   s   zAnonymousUserMixin.get_idN)	r   r   r   r   r    r   r   r   r   r   r   r   r
   r!   ;   s    


r!   N)r   Ú_compatr   r   r   r   r!   r   r   r   r
   Ú<module>   s   /