File: //opt/alt/python37/lib/python3.7/site-packages/pyroute2/remote/__pycache__/shell.cpython-37.pyc
B
��f$ � @ sp d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
mZ e�e
�ZG dd� dee
�ZdS )� N)�RTNL_API)�MarshalRtnl)�RemoteSocket� Transportc sB e Zd Z� fdd�Zdd� Zdd� Zejfdd�Zd d
� Z � Z
S )�ShellIPRc s� || _ d| }tj|�� dtjtjd�| _t| jj�}t| jj�}yt t
| ��||� W n tk
rv | �
� � Y nX t�| j
� t� | _d S )Nz%s python -m pyroute2.remoter )�bufsize�stdin�stdout)�target�
subprocess�Popen�split�PIPE�shellr r r �superr �__init__� Exception�close�atexit�registerr �marshal)�selfr
�cmd�trnsp_in� trnsp_out)� __class__� �F/opt/alt/python37/lib/python3.7/site-packages/pyroute2/remote/shell.pyr s zShellIPR.__init__c C s t | �| j�S )N)�typer
)r r r r �clone# s zShellIPR.clonec C sJ t td�rt�| j� n.ytj�| jdi f� W n tk
rD Y nX d S )N�
unregisterr )�hasattrr r r Z
_exithandlers�remove�
ValueError)r r r r �_cleanup_atexit&