o
    ¯bi  ã                   @   sb   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ eeƒG dd„ dƒƒZd	S )
é    )Úimplementer)Ú
ConchError)Ú
IConchUser)ÚOPEN_UNKNOWN_CHANNEL_TYPE)ÚLogger)ÚnativeStringc                   @   sL   e Zd Zeƒ Zdd„ Zedd„ ƒZejdd„ ƒZdd„ Z	dd	„ Z
d
d„ ZdS )Ú	ConchUserc                 C   s   i | _ i | _d S ©N)ÚchannelLookupÚsubsystemLookup©Úself© r   ú6/usr/lib/python3/dist-packages/twisted/conch/avatar.pyÚ__init__   s   
zConchUser.__init__c                 C   s   | j S r	   ©Ú_connr   r   r   r   Úconn   s   zConchUser.connc                 C   s
   || _ d S r	   r   )r   Úvaluer   r   r   r      s   
c                 C   s,   | j  |d ¡}|sttdƒ‚||||| d�S )Nzunknown channel)ÚremoteWindowÚremoteMaxPacketÚdataÚavatar)r
   Úgetr   r   )r   ÚchannelTypeÚ
windowSizeÚ	maxPacketr   Úklassr   r   r   ÚlookupChannel   s   
üzConchUser.lookupChannelc                 C   s4   | j jd| jd� | j |d ¡}|sdS ||| d�S )NzSubsystem lookup: {subsystem!r})Ú	subsystemF)r   )Ú_logÚdebugr   r   )r   r   r   r   r   r   r   ÚlookupSubsystem)   s   ÿzConchUser.lookupSubsystemc                 C   s0   t | dd¡ƒ}t| d| d ƒ}|sdS ||ƒS )Nó   -ó   _z	global_%sr   )r   ÚreplaceÚgetattr)r   ÚrequestTyper   Úfr   r   r   ÚgotGlobalRequest2   s
   zConchUser.gotGlobalRequestN)Ú__name__Ú
__module__Ú__qualname__r   r    r   Úpropertyr   Úsetterr   r"   r)   r   r   r   r   r      s    

	r   N)Úzope.interfacer   Útwisted.conch.errorr   Útwisted.conch.interfacesr   Útwisted.conch.ssh.connectionr   Útwisted.loggerr   Útwisted.python.compatr   r   r   r   r   r   Ú<module>   s   