File "subprocess.cpython-34.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python34/lib64/python3.4/asyncio/__pycache__/subprocess.cpython-34.pyc
File size: 6.98 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit


j f
@s ddgZddlZddlmZddlmZddlmZddlmZdd	lmZdd
l	m
Z
ejZejZej
Z
GdddejejZGd
ddZeddddejddZedddddddddejddZdS)create_subprocess_execcreate_subprocess_shellN)events)	protocols)streams)tasks)	coroutine)loggercsdeZdZdZfddZddZddZdd	Zd
dZdd
Z	S)SubprocessStreamProtocolz0Like StreamReaderProtocol, but for a subprocess.cs@tjd|||_d|_|_|_d|_dS)Nloop)super__init___limitstdinstdoutstderr
_transport)selflimitr)	__class__7/opt/alt/python34/lib64/python3.4/asyncio/subprocess.pyrs	z!SubprocessStreamProtocol.__init__cCs|jjg}|jdk	r5|jd|jn|jdk	r[|jd|jn|jdk	r|jd|jnddj|S)Nzstdin=%rz	stdout=%rz	stderr=%rz<%s> )r__name__rappendrrjoin)rinforrr__repr__sz!SubprocessStreamProtocol.__repr__cCs||_|jd}|dk	rXtjd|jd|j|_|jj|n|jd}|dk	rtjd|jd|j|_|jj|n|jd}|dk	rtj	|d|ddd|j|_
ndS)Nrrrrprotocolreader)rget_pipe_transportrStreamReaderr_looprZ
set_transportrStreamWriterr)r	transportZstdout_transportZstderr_transportZstdin_transportrrrconnection_made&s"	z(SubprocessStreamProtocol.connection_madecCsV|dkr|j}n|dkr0|j}nd}|dk	rR|j|ndS)Nrr)rrZ	feed_data)rfddatar!rrrpipe_data_received<sz+SubprocessStreamProtocol.pipe_data_receivedcCs|dkr?|j}|dk	r.|jn|j|dS|dkrW|j}n|dkro|j}nd}|dkr|dkr|jq|j|ndS)Nrrr)rcloseZconnection_lostrrZfeed_eofZ
set_exception)rr(excpiper!rrrpipe_connection_lostFs	


z-SubprocessStreamProtocol.pipe_connection_lostcCs|jjd|_dS)N)rr+)rrrrprocess_exitedYs
z'SubprocessStreamProtocol.process_exited)
r
__module____qualname____doc__rrr'r*r.r/rr)rrrs

rc@seZdZddZddZeddZeddZd	d
Z	ddZ
d
dZeddZeddZ
eddZedddZdS)ProcesscCsR||_||_||_|j|_|j|_|j|_|j|_dS)N)rZ	_protocolr$rrrZget_pidpid)rr&r rrrrr_s			zProcess.__init__cCsd|jj|jfS)Nz<%s %s>)rrr4)rrrrrhszProcess.__repr__cCs
|jjS)N)rZget_returncode)rrrr
returncodekszProcess.returncodeccs|jjDdHS)zdWait until the process exit and return the process return code.

        This method is a coroutine.N)rZ_wait)rrrrwaitoszProcess.waitcCs|jj|dS)N)rsend_signal)rsignalrrrr7vszProcess.send_signalcCs|jjdS)N)r	terminate)rrrrr9yszProcess.terminatecCs|jjdS)N)rkill)rrrrr:|szProcess.killccs|jj}|jj||rAtjd|t|ny|jjDdHWnGtt	fk
r}z!|rtjd||nWYdd}~XnX|rtjd|n|jj
dS)Nz%%r communicate: feed stdin (%s bytes)z%r communicate: stdin got %rz%r communicate: close stdin)r$	get_debugrwriter
debuglenZdrainBrokenPipeErrorConnectionResetErrorr+)rinputr=r,rrr_feed_stdins	)zProcess._feed_stdincCsdS)Nr)rrrr_noopsz
Process._noopccs|jj|}|dkr*|j}n|dks<t|j}|jjr|dkrfdnd}tjd||n|j	DdH}|jjr|dkrdnd}tjd||n|j
|S)Nrrrrz%r communicate: read %sz%r communicate: close %s)rr"rAssertionErrorrr$r;r
r=readr+)rr(r&streamnameoutputrrr_read_streams	
zProcess._read_streamNccs|r|j|}n|j}|jdk	rE|jd}n|j}|jdk	rr|jd}n|j}tj|||d|jDdH\}}}|jDdH||fS)Nrrr)	rBrCrrIrrZgatherr$r6)rrArrrrrrcommunicateszProcess.communicate)rr0r1rrpropertyr5r	r6r7r9r:rBrCrIrJrrrrr3^s	r3c

+srdkrtjnfdd}j||d|d|d||DdH\}}	t||	S)NcstddS)Nrr)rr)rrrr<lambda>sz)create_subprocess_shell.<locals>.<lambda>rrr)rget_event_loopZsubprocess_shellr3)
cmdrrrrrkwdsprotocol_factoryr&r r)rrrrsrrrrrc/sudkrtjnfdd}j||d|d|d|||DdH\}	}
t|	|
S)NcstddS)Nrr)rr)rrrrrLsz(create_subprocess_exec.<locals>.<lambda>rrr)rrMZsubprocess_execr3)ZprogramrrrrrargsrOrPr&r r)rrrrs)__all__
subprocessrrrrZ
coroutinesr	logr
PIPEZSTDOUTZDEVNULLZFlowControlMixinZSubprocessProtocolrr3Z_DEFAULT_LIMITrrrrrr<module>s(			K]