U if @ s d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ej Z ejZejZG d d d ej ejZG dd dZddddejfd dZddddejdddZdS ))create_subprocess_execcreate_subprocess_shell N )events) protocols)streams)tasks)loggerc sT e Zd Z fddZdd Zdd Zdd Zd d Zdd Zd d Z dd Z ZS )SubprocessStreamProtocolc sH t j|d || _d | _ | _| _d | _d| _g | _| j | _d S )NloopF)super__init___limitstdinstdoutstderr _transport_process_exited _pipe_fds_loopZ create_future _stdin_closed)selflimitr __class__ 7/opt/alt/python38/lib64/python3.8/asyncio/subprocess.pyr s z!SubprocessStreamProtocol.__init__c C sn | j jg}| jd k r&|d| j | jd k rB|d| j | jd k r^|d| j dd|S )Nzstdin=zstdout=zstderr=z<{}> )r __name__r appendr r formatjoin)r infor r r __repr__ s z!SubprocessStreamProtocol.__repr__c C s || _ |d}|d k rDtj| j| jd| _| j| | j d |d}|d k rtj| j| jd| _ | j | | j d |d}|d k rtj|| d | jd| _d S )Nr r r r )protocolreaderr ) r get_pipe_transportr StreamReaderr r r Z set_transportr r r StreamWriterr )r transportZstdout_transportZstderr_transportZstdin_transportr r r connection_made) s, z(SubprocessStreamProtocol.connection_madec C s: |dkr| j }n|dkr | j}nd }|d k r6|| d S )Nr r&