Current File : //lib/python2.7/site-packages/euca2ools/bundle/util.pyo
�
��Xc@sXddlZddlZddlZdd�Zd�Zd�Zd�Zd�ZdS(i����NcCs2ddg}|dk	r�x|D]t}|dkr4qt|t�rS|j|�qt|d�rx|j|j��qtdjt|����qWng}d}xIt	|�D];}||kr�|j||f�nt
||d�}q�W|j|df�x&|D]}tj|d|d�qWdS(Niitfilenos*{0} must be an int or have a fileno methodii(
tNonet
isinstancetinttappendthasattrRt
ValueErrortformattreprtsortedtmaxtost
closerange(t
except_fdstexcept_filenost	except_fdt
fileno_rangestnext_range_mint
except_filenotfileno_range((s9/usr/lib/python2.7/site-packages/euca2ools/bundle/util.pyt
close_all_fdss(
	
cCsktjddd|dddfdtj�}|j�\}}|j�jdd	�d
jdd�j�S(
Ntopenssltx509s-ins-fingerprints-sha1s-noouttstdoutt=ii����t:t(t
subprocesstPopentPIPEtcommunicatetstriptrsplittreplacetlower(t
cert_filenameRtfingerprintt_((s9/usr/lib/python2.7/site-packages/euca2ools/bundle/util.pytget_cert_fingerprint9s
cCs1tj�\}}tj|�tj|d�fS(Ntw(Rtpipetfdopen(tpipe_rtpipe_w((s9/usr/lib/python2.7/site-packages/euca2ools/bundle/util.pytopen_pipe_fileobjsAscCs2tjdtd|f�}t|_|j�dS(s�
    Start a thread that calls os.waitpid on a particular PID to prevent
    zombie processes from hanging around after they have finished.
    ttargettargsN(t	threadingtThreadt
_wait_for_pidtTruetdaemontstart(tpidt
pid_thread((s9/usr/lib/python2.7/site-packages/euca2ools/bundle/util.pytwaitpid_in_threadFs	cCs5|r1ytj|d�Wq1tk
r-q1XndS(Ni(RtwaitpidtOSError(R5((s9/usr/lib/python2.7/site-packages/euca2ools/bundle/util.pyR1Ps

(	RRR/RRR&R,R7R1(((s9/usr/lib/python2.7/site-packages/euca2ools/bundle/util.pyt<module>s