U
    
W[                     @   sr   d dl mZ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 d dlmZ eeG dd	 d	Zd
S )    )absolute_importdivision)implementer)
ConchError)
IConchUser)OPEN_UNKNOWN_CHANNEL_TYPE)log)nativeStringc                   @   s,   e Zd Z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   s2   | j |d }|sttdn||||| dS d S )Nzunknown channel)ZremoteWindowZremoteMaxPacketdataavatar)r   getr   r   )r   ZchannelTypeZ
windowSizeZ	maxPacketr   klassr   r   r   lookupChannel   s     zConchUser.lookupChannelc                 C   s2   t t| j | j|d }|s&dS ||| dS )NF)r   )r   msgreprr   r   )r   Z	subsystemr   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   ZrequestTyper   fr   r   r   gotGlobalRequest'   s
    zConchUser.gotGlobalRequestN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r
      s   
r
   N)Z
__future__r   r   Zzope.interfacer   Ztwisted.conch.errorr   Ztwisted.conch.interfacesr   Ztwisted.conch.ssh.connectionr   Ztwisted.pythonr   Ztwisted.python.compatr	   r
   r   r   r   r   <module>   s   