ó fc@sídZdZddlZddlZd„Zd„Zd„Zd „Zd „Ze d kréej dZ d e krÜddl Z ddl Z e jd ƒd Ze jdeƒe jeƒZejƒjdƒjƒqéee ƒndS(s‡ndiff [-q] file1 file2 or ndiff (-r1 | -r2) < ndiff_output > file1_or_file2 Print a human-friendly file difference report to stdout. Both inter- and intra-line differences are noted. In the second form, recreate file1 (-r1) or file2 (-r2) on stdout, from an ndiff report on stdin. In the first form, if -q ("quiet") is not specified, the first two lines of output are -: file1 +: file2 Each remaining line begins with a two-letter code: "- " line unique to file1 "+ " line unique to file2 " " line common to both files "? " line not present in either input file Lines beginning with "? " attempt to guide the eye to intraline differences, and were not present in either input file. These lines can be confusing if the source files contain tab characters. The first file can be recovered by retaining only lines that begin with " " or "- ", and deleting those 2-character prefixes; use ndiff with -r1. The second file can be recovered similarly, but by retaining only " " and "+ " lines; use ndiff with -r2; or, on Unix, the second file can be recovered by piping the output through sed -n '/^[+ ] /s/^..//p' iiiiÿÿÿÿNcCs(tjj}||dƒ|tƒdS(Ns i(tsyststderrtwritet__doc__(tmsgtout((s+/usr/lib64/python2.7/Tools/scripts/ndiff.pytfail5s  cCsDyt|dƒSWn,tk r?}td|dt|ƒƒSXdS(NtUscouldn't open s: (topentIOErrorRtstr(tfnametdetail((s+/usr/lib64/python2.7/Tools/scripts/ndiff.pytfopen=scCs{t|ƒ}t|ƒ}| s&| r*dS|jƒ}|jƒ|jƒ}|jƒxtj||ƒD] }|GqiWdS(Nii(R t readlinestclosetdifflibtndiff(tf1nametf2nametf1tf2tatbtline((s+/usr/lib64/python2.7/Tools/scripts/ndiff.pytfcompareDs    c CsKddl}y|j|dƒ\}}Wn#|jk rM}tt|ƒƒSXd}d}}xJ|D]B\}}|dkrŒd}d}qe|dkred}|} qeqeW|rÁ|rÁtdƒS|rû|r×tdƒS| dkrñt| ƒdStd ƒSt|ƒd krtd ƒS|\} } |r>dG| GHdG| GHnt| | ƒS(Niÿÿÿÿsqr:iis-qs-rscan't specify both -q and -rsno args allowed with -r optiont1t2s-r value must be 1 or 2isneed 2 filename argss-:s+:(RR(tgetoptterrorRR trestoretlenR( targsRtoptsR tnoisytqseentrseentopttvalt whichfileRR((s+/usr/lib64/python2.7/Tools/scripts/ndiff.pytmainTs<                cCs/tjtjjƒ|ƒ}tjj|ƒdS(N(RRRtstdinRtstdoutt writelines(twhichtrestored((s+/usr/lib64/python2.7/Tools/scripts/ndiff.pyRwst__main__s-profiles ndiff.pros main(args)ttime(iii(Rt __version__RRRR RR(Rt__name__targvR tprofiletpstatstremovetstatftruntStatststatst strip_dirst sort_statst print_stats(((s+/usr/lib64/python2.7/Tools/scripts/ndiff.pyt/s"    #