Viewing File: /opt/alt/python35/lib64/python3.5/__pycache__/filecmp.cpython-35.opt-2.pyc



]f&@sddlZddlZddlmZdddddgZiZd"Zd
ddd
ddddgZddZdddZ	ddZ
ddZGdddZdddZ
ee	ddZddZdd Zed!kredS)#N)filterfalseclear_cachecmpdircmpcmpfilesDEFAULT_IGNORESiZRCSZCVSZtagsz.gitz.hgz.bzrZ_darcs__pycache__cCstjdS)N)_cacheclearrr,/opt/alt/python35/lib64/python3.5/filecmp.pyrsTcCsttj|}ttj|}|dtjksP|dtjkrTdS|rj||krjdS|d|dkrdStj||||f}|dkrt||}ttdkrt|t||||f<|S)NrFTd)	_sigosstatS_IFREGr
get_do_cmplenr)f1f2shallows1s2Zoutcomerrr
rs&cCstj|j|j|jfS)N)rS_IFMTst_modest_sizest_mtime)strrr
rDsrcCs{t}t|d_}t|dF}x<|j|}|j|}||kr[dS|s-dSq-WWdQRXWdQRXdS)NrbFT)BUFSIZEopenread)rrbufsizefp1fp2Zb1Zb2rrr
rIs$rc@seZdZddddZddZddZdd	Zd
dZdd
ZddZ	ddZ
ddZddZe
dedededededededededed ed!eZd"d#ZdS)$rNcCsd||_||_|dkr6tjtjg|_n	||_|dkrWt|_n	||_dS)N)leftrightrcurdirpardirhiderignore)selfabr-r,rrr
__init__xs			zdircmp.__init__cCsnttj|j|j|j|_ttj|j|j|j|_|jj	|jj	dS)N)
_filterrlistdirr(r,r-	left_listr)
right_listsort)r.rrr
phase0s
z
dircmp.phase0cCsttttjj|j|j}ttttjj|j|j}tt|j	t
|j||_tt|j	t
|j||_tt|j	t
|j||_dS)N)dictzipmaprpathnormcaser4r5list__getitem__filter__contains__commonr	left_only
right_only)r.r/r0rrr
phase1s
**''z
dircmp.phase1c
Csg|_g|_g|_xy|jD]n}tjj|j|}tjj|j|}d}ytj	|}Wn+t
k
r}zd}WYdd}~XnXytj	|}Wn+t
k
r}zd}WYdd}~XnX|rt	j|j}t	j|j}	||	kr,|jj
|qt	j|rN|jj
|qt	j|rp|jj
|q|jj
|q%|jj
|q%WdS)Nrr)common_dirscommon_filescommon_funnyrArr;joinr(r)rOSErrorrrappendS_ISDIRS_ISREG)
r.xZa_pathZb_pathokZa_statwhyZb_statZa_typeZb_typerrr
phase2s4			z
dircmp.phase2cCs7t|j|j|j}|\|_|_|_dS)N)rr(r)rF
same_files
diff_filesfunny_files)r.Zxxrrr
phase3sz
dircmp.phase3cCssi|_xc|jD]X}tjj|j|}tjj|j|}t|||j|j	|j|<qWdS)N)
subdirsrErr;rHr(r)rr-r,)r.rMZa_xZb_xrrr
phase4s
	z
dircmp.phase4cCs2|jx!|jjD]}|jqWdS)N)rVrUvaluesphase4_closure)r.sdrrr
rXs
zdircmp.phase4_closurecCs6td|j|j|jrE|jjtd|jd|j|jrt|jjtd|jd|j|jr|jjtd|j|jr|jjtd|j|jr|jjtd|j|j	r|j	jtd|j	|j
r2|j
jtd|j
dS)	NZdiffzOnly in:zIdentical files :zDiffering files :zTrouble with common files :zCommon subdirectories :zCommon funny cases :)printr(r)rBr6rCrQrRrSrErG)r.rrr
reports,	
	
	
	
	
	
	
z
dircmp.reportcCs9|jx(|jjD]}t|jqWdS)N)r\rUrWr[)r.rYrrr
report_partial_closures
zdircmp.report_partial_closurecCs9|jx(|jjD]}t|jqWdS)N)r\rUrWr[report_full_closure)r.rYrrr
r^s
zdircmp.report_full_closurerUrQrRrSrErFrGrArBrCr4r5cCs9||jkrt||j||t||S)N)	methodmapAttributeErrorgetattr)r.attrrrr
__getattr__szdircmp.__getattr__)__name__
__module____qualname__r1r7rDrPrTrVrXr\r]r^r8r_rcrrrr
rVs "#
cCskgggf}xU|D]M}tjj||}tjj||}|t|||j|qW|S)N)rr;rH_cmprJ)r/r0rArresrMZaxZbxrrr
rs

!cCs8y|||||SWntk
r3dSYnXdS)N)rI)r/r0shabsrrrr
rgs
rgcCstt|j|S)N)r=rr@)flistskiprrr
r2sr2cCsddl}ddl}|j|jddd\}}t|dkra|jddt|d|d}d|kr|jn
|jdS)	Nrrrrizneed exactly two args-r)rorp)sysgetoptargvrZGetoptErrorrr^r\)rqrroptionsargsddrrr
demo$s%
rw__main__i )rr	itertoolsr__all__r
r"rrrrrrrrkrgr2rwrdrrrr
<module>
s"'
	
Back to Directory File Manager