Viewing File: /usr/lib/python2.7/site-packages/euca2ools/bundle/pipes/fittings.pyc

ó
¡ôXc@s¬ddlZddlZddlZddlZddlZddlZddlZdd„Z	de
d„Zde
d„Zdd„Z
de
d„Zde
d„ZdS(iÿÿÿÿNc	CsLtjdtd|fdi|d6ƒ}|jƒtjjj|jƒdS(Nttargettargstkwargst
out_mpconn(	tmultiprocessingtProcesst_delete_part_fileststartt	euca2oolstbundletutiltwaitpid_in_threadtpid(t	in_mpconnRtdel_p((sC/usr/lib/python2.7/site-packages/euca2ools/bundle/pipes/fittings.pytcreate_bundle_part_deleter$s
	
c	Csˆtjdtƒ\}}tjdtd||||fdi|d6|d6ƒ}|jƒ|jƒ|jƒtjj	j
|jƒ|S(NtduplexRRRtpart_write_semtdebug(RtPipetFalseRt_write_partsRtcloseRR	R
RR(tinfiletpart_prefixt	part_sizeRRtpartinfo_result_rtpartinfo_result_wtwriter_p((sC/usr/lib/python2.7/site-packages/euca2ools/bundle/pipes/fittings.pytcreate_bundle_part_writer,s	


c	Csxtjdtƒ\}}tjdtd||fdi|d6|d6ƒ}|jƒ|jƒtjj	j
|jƒ|S(NRRRRRR(RRRRt_aggregate_mpconn_itemsRRRR	R
RR(R
RRtresult_mpconn_rtresult_mpconn_wtagg_p((sC/usr/lib/python2.7/site-packages/euca2ools/bundle/pipes/fittings.pytcreate_mpconn_aggregator;s	

cCs©tjjjd||fƒzbyIxBtrf|jƒ}tj|jƒ|dk	r%|j
|ƒq%q%WWntk
r|dSXWd|jƒ|dk	r¤|jƒnXdS(Nt
except_fds(
RR	R
t
close_all_fdstTruetrecvtostunlinktfilenametNonetsendtEOFErrorR(R
Rtpart((sC/usr/lib/python2.7/site-packages/euca2ools/bundle/pipes/fittings.pyRFs	
	
cCstjjjd|||fƒg}z­yFx?trl|jƒ}|j|ƒ|dk	r.|j|ƒq.q.WWn`t	k
r³y|j|ƒWqÑt
k
r¯|s©dS‚qÑXnt
k
rÐ|sÊdS‚nXWd|jƒ|jƒ|dk	r|jƒnXdS(NR#(RR	R
R$R%R&tappendR*R+R,tIOErrorR(R
t
result_mpconnRRtresultstnext_result((sC/usr/lib/python2.7/site-packages/euca2ools/bundle/pipes/fittings.pyRVs2	






cCsö||g}|dk	rwtjdkrwy|jt|jjƒƒWqwtk
r]d}qwtk
rsd}qwXnt	j
jjd|ƒxbt
jƒD]T}|dk	r¹|jƒndj||ƒ}tjƒ}	t|dƒâ}
d}|}xž|dkr•y|jt|t	jƒƒ}
Wn(tk
rM|sG|jƒdS‚nX|
r‘|
j|
ƒ|	j|
ƒ|t|
ƒ8}|t|
ƒ7}qøPqøWt	j
j||	jƒd|ƒ}|j|ƒWdQX||krš|jƒ|jƒdSqšWdS(NtdarwinR#s{0}.part.{1:02}twitSHA1(R*tsystplatformR.tintt_semlockthandletAttributeErrort
ValueErrorRR	R
R$t	itertoolstcounttacquiretformatthashlibtsha1topentreadtmintBUFSIZERtwritetupdatetlent
BundlePartt	hexdigestR+(RRRtpartinfo_mpconnRRR#tpart_not
part_fnametpart_digestR-t
bytes_writtentbytes_to_writetchunktpartinfo((sC/usr/lib/python2.7/site-packages/euca2ools/bundle/pipes/fittings.pyRusL	
	






	

(RAR=RR'R6teuca2ools.bundle.pipesRteuca2ools.bundle.utilR*RRRR"RRR(((sC/usr/lib/python2.7/site-packages/euca2ools/bundle/pipes/fittings.pyt<module>s	
Back to Directory File Manager