File: //lib/python3/dist-packages/landscape/lib/__pycache__/twisted_util.cpython-310.pyc
o
y)�]| � @ s� d dl Z d dlmZmZ d dlmZ d dlmZmZ d dl m
Z
d dlmZ d dl
mZmZ d dlmZ G d d
� d
e�Zddd
�ZG dd� de�Zdi dddddddf dd�ZdS )� N)�DeferredList�Deferred)�ProcessProtocol)�Process�
ProcessReader)�reactor)�Failure)�
itervalues�
networkString)�
encode_valuesc @ s e Zd ZdZdS )�SignalErrorz3An error if the process was terminated by a signal.N)�__name__�
__module__�__qualname__�__doc__� r r �</usr/lib/python3/dist-packages/landscape/lib/twisted_util.pyr
s r Fc C s. t | d|d�}|�dd� � |�dd� � |S )N� )�fireOnOneErrback�
consumeErrorsc S s dd� | D �S )Nc S s g | ]}|d �qS )r r )�.0�xr r r �
<listcomp> s z4gather_results.<locals>.<lambda>.<locals>.<listcomp>r )�rr r r �<lambda> s z gather_results.<locals>.<lambda>c S s | j jS �N)�value�
subFailure)�fr r r r s )r �addCallback�
addErrback)� deferreds�consume_errors�dr r r �gather_results s �r$ c @ s2 e Zd ZdZddd�Zdd� Zdd� Zd d
� ZdS )�AllOutputProcessProtocolz<A process protocol for getting stdout, stderr and exit code.Nc C s: || _ t�� | _t�� | _| jj| _|| _|| _d| _ d S �N� )
�deferred�io�BytesIO�outBuf�errBuf�write�errReceived�stdin�
line_received�
_partial_line)�selfr( r/ r0 r r r �__init__ s
z!AllOutputProcessProtocol.__init__c C s. | j d ur| j�t| j �� | j�� d S d S r )r/ � transportr- r
�
closeStdin)r2 r r r �connectionMade% s
�z'AllOutputProcessProtocol.connectionMadec C sX | j �|� | jd u r
d S |�d�}| j|d |d<