U
    
W[Ä  ã                   @   s&   d Z ddlmZ G dd„ dejƒZdS )z/The Finger User Information Protocol (RFC 1288)é    )Úbasicc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚFingerc                 C   sŠ   |  ¡ }|sdg}t|ƒdkr$d}nd}|d }d|krl| d¡}|d |… }||d d … }|  |||¡S |r||  ||¡S |  |¡S d S )Nó    é   r   éÿÿÿÿó   @)ÚsplitÚlenÚrfindÚforwardQueryÚgetUserÚ	getDomain)ÚselfÚlineÚpartsÚslash_wÚuserZ	hostPlaceÚhost© r   ú:/usr/lib/python3/dist-packages/twisted/protocols/finger.pyÚlineReceived   s    
zFinger.lineReceivedc                 C   s   | j  |d ¡ | j  ¡  d S )Nó   
)Ú	transportÚwriteZloseConnection)r   Úmessager   r   r   Ú_refuseMessage   s    zFinger._refuseMessagec                 C   s   |   d¡ d S )Ns    Finger forwarding service denied©r   )r   r   r   r   r   r   r   r   "   s    zFinger.forwardQueryc                 C   s   |   d¡ d S )Ns   Finger online list deniedr   )r   r   r   r   r   r   %   s    zFinger.getDomainc                 C   s"   | j  d| d ¡ |  d¡ d S )Ns   Login: r   s   No such user)r   r   r   )r   r   r   r   r   r   r   (   s    zFinger.getUserN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r   	   s
   r   N)Ú__doc__Ztwisted.protocolsr   ZLineReceiverr   r   r   r   r   Ú<module>   s   