o
    O6ufX  ã                   @   s0   d dl Z d dlZd dlmZ G dd„ deƒZdS )é    N)ÚRemoteTransportc                   @   sH   e Zd ZdZdZdd„ Zdd„ Zedd„ ƒZd	d
„ Z	dd„ Z
dd„ ZdS )ÚLocalTransportz½
    A 'transport' to represent a local node. No remote connection is actually
    made, and all commands set to be run by this transport are executed locally
    without any wrappers.
    Ú
local_nodec                 C   ó   dS ©NT© )ÚselfÚpasswordr   r   ú@/usr/lib/python3/dist-packages/sos/collector/transports/local.pyÚ_connect   ó   zLocalTransport._connectc                 C   r   r   r   ©r   r   r   r
   Ú_disconnect   r   zLocalTransport._disconnectc                 C   r   r   r   r   r   r   r
   Ú	connected    s   zLocalTransport.connectedc                 C   s&   |   d|› d|› �¡ t ||¡ dS )NzMoving z to T)Ú	log_debugÚshutilÚcopy)r   ÚfnameÚdestr   r   r
   Ú_retrieve_file$   s   zLocalTransport._retrieve_filec                 C   s   |S )Nr   )r   Úcmdr   r   r
   Ú_format_cmd_for_exec)   r   z#LocalTransport._format_cmd_for_execc                 C   sR   t j |¡rt|dƒ�}| ¡ W  d   ƒ S 1 sw   Y  |  d|› �¡ dS )NÚrzNo such file: Ú )ÚosÚpathÚexistsÚopenÚreadr   )r   r   Úrfiler   r   r
   Ú
_read_file,   s    ÿzLocalTransport._read_fileN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Únamer   r   Úpropertyr   r   r   r    r   r   r   r
   r      s    
r   )r   r   Úsos.collector.transportsr   r   r   r   r   r
   Ú<module>   s   
