î j f ã @ s d d g Z d d l 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 j Z e j Z e j Z Gd d „ d e j e j ƒ Z Gd d „ d ƒ Z e d d d d e j d d „ ƒ Z e d d d d d d d d d e j d d „ ƒ Z d S)Úcreate_subprocess_execÚcreate_subprocess_shellé Né )Úevents)Ú protocols)Ústreams)Útasks)Ú coroutine)Úloggerc sd e Z d Z d Z ‡ f d d † Z d d „ Z d d „ Z d d „ Z d d „ Z d d „ Z ‡ S)ÚSubprocessStreamProtocolz0Like StreamReaderProtocol, but for a subprocess.c s@ t ƒ j d | ƒ | | _ d | _ | _ | _ d | _ d S)NÚloop)ÚsuperÚ__init__Ú_limitÚstdinÚstdoutÚstderrÚ _transport)ÚselfÚlimitr )Ú __class__© ú7/opt/alt/python34/lib64/python3.4/asyncio/subprocess.pyr s z!SubprocessStreamProtocol.__init__c C s’ | j j g } | j d k r5 | j d | j ƒ n | j d k r[ | j d | j ƒ n | j d k r� | j d | j ƒ n d d j | ƒ S)Nzstdin=%rz stdout=%rz stderr=%rz<%s>ú )r Ú__name__r Úappendr r Újoin)r Úinfor r r Ú__repr__ s z!SubprocessStreamProtocol.__repr__c C sð | | _ | j d ƒ } | d k rX t j d | j d | j ƒ | _ | j j | ƒ n | j d ƒ } | d k r§ t j d | j d | j ƒ | _ | j j | ƒ n | j d ƒ } | d k rì t j | d | d d d | j ƒ| _ n d S)Nr r r é r ÚprotocolÚreader)r Úget_pipe_transportr ÚStreamReaderr Ú_loopr Z set_transportr ÚStreamWriterr )r Ú transportZstdout_transportZstderr_transportZstdin_transportr r r Úconnection_made&