Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
WMc@sdZddkZddkZddklZlZlZlZdddgZhZ dZ d d Z d Z d Z ddd YZd dZee dZdZdZedjo endS(sUtilities for comparing files and directories. Classes: dircmp Functions: cmp(f1, f2, shallow=1) -> int cmpfiles(a, b, common) -> ([], [], []) iN(tifiltert ifilterfalsetimaptiziptcmptdircmptcmpfilesiiicCstti|}tti|}|dtijp|dtijotS|o||jotS|d|djotSti||f}|o ||f|d jo |dSt||}|||ft||f<|S(sCompare two files. Arguments: f1 -- First file name f2 -- Second file name shallow -- Just check stat signature (do not read the files). defaults to 1. Return value: True if the files are the same, False otherwise. This function uses a cache for past comparisons and the results, with a cache invalidation mechanism relying on stale signatures. iii( t_sigtoststattS_IFREGtFalsetTruet_cachetgett_do_cmp(tf1tf2tshallowts1ts2tresulttoutcome((s/usr/lib/python2.6/filecmp.pyRs( cCsti|i|i|ifS(N(R tS_IFMTtst_modetst_sizetst_mtime(tst((s/usr/lib/python2.6/filecmp.pyR:scCsst}t|d}t|d}xHto@|i|}|i|}||jotS|ptSq'WdS(Ntrb(tBUFSIZEtopenR treadR (RRtbufsizetfp1tfp2tb1tb2((s/usr/lib/python2.6/filecmp.pyR?s cBseZdZdddZdZdZdZdZdZ dZ dZ d Z d Z ed e d ed ededededededededede ZdZRS(sQA class that manages the comparison of 2 directories. dircmp(a,b,ignore=None,hide=None) A and B are directories. IGNORE is a list of names to ignore, defaults to ['RCS', 'CVS', 'tags']. HIDE is a list of names to hide, defaults to [os.curdir, os.pardir]. High level usage: x = dircmp(dir1, dir2) x.report() -> prints a report on the differences between dir1 and dir2 or x.report_partial_closure() -> prints report on differences between dir1 and dir2, and reports on common immediate subdirectories. x.report_full_closure() -> like report_partial_closure, but fully recursive. Attributes: left_list, right_list: The files in dir1 and dir2, filtered by hide and ignore. common: a list of names in both dir1 and dir2. left_only, right_only: names only in dir1, dir2. common_dirs: subdirectories in both dir1 and dir2. common_files: files in both dir1 and dir2. common_funny: names in both dir1 and dir2 where the type differs between dir1 and dir2, or the name is not stat-able. same_files: list of identical files. diff_files: list of filenames which differ. funny_files: list of files which could not be compared. subdirs: a dictionary of dircmp objects, keyed by names in common_dirs. cCsq||_||_|djotitig|_n ||_|djodddg|_n ||_dS(NtRCStCVSttags(tlefttrighttNoneRtcurdirtpardirthidetignore(tselftatbR.R-((s/usr/lib/python2.6/filecmp.pyt__init__os     cCsntti|i|i|i|_tti|i|i|i|_|ii |ii dS(N( t_filterRtlistdirR(R-R.t left_listR)t right_listtsort(R/((s/usr/lib/python2.6/filecmp.pytphase0{s  cCsttttii|i|i}ttttii|i|i}t|i t |i ||_ t|i t |i ||_t|i t |i ||_dS(N(tdictRRRtpathtnormcaseR5R6tmapt __getitem__Rt __contains__tcommonRt left_onlyt right_only(R/R0R1((s/usr/lib/python2.6/filecmp.pytphase1s **!!c Csg|_g|_g|_xg|iD]\}tii|i|}tii|i|}d}yti |}Wnti j o}d}nXyti |}Wnti j o}d}nX|ot i |i }t i |i } || jo|ii |qt i|o|ii |qt i|o|ii |q|ii |q%|ii |q%WdS(Nii(t common_dirst common_filest common_funnyR?RR:tjoinR(R)R terrorRRtappendtS_ISDIRtS_ISREG( R/txta_pathtb_pathtokta_stattwhytb_statta_typetb_type((s/usr/lib/python2.6/filecmp.pytphase2s6       cCs7t|i|i|i}|\|_|_|_dS(N(RR(R)RDt same_filest diff_filest funny_files(R/txx((s/usr/lib/python2.6/filecmp.pytphase3scCssh|_xc|iD]X}tii|i|}tii|i|}t|||i|i |i|dG|iG|iGH|io(|iidG|iGdG|iGHn|io(|iidG|iGdG|iGHn|io|iidG|iGHn|io|iidG|iGHn|io|iidG|iGHn|io|iidG|iGHn|i o|i idG|i GHndS( NtdiffsOnly int:sIdentical files :sDiffering files :sTrouble with common files :sCommon subdirectories :sCommon funny cases :( R(R)R@R7RARURVRWRCRE(R/((s/usr/lib/python2.6/filecmp.pytreports,              cCs3|ix"|iiD]}H|iqWdS(N(RcRZR^(R/R`((s/usr/lib/python2.6/filecmp.pytreport_partial_closures  cCs3|ix"|iiD]}H|iqWdS(N(RcRZR^treport_full_closure(R/R`((s/usr/lib/python2.6/filecmp.pyRes  RZRURVRWRCRDRER?R@RAR5R6cCs;||ijo t|n|i||t||S(N(t methodmaptAttributeErrortgetattr(R/tattr((s/usr/lib/python2.6/filecmp.pyt __getattr__s N(t__name__t __module__t__doc__R*R2R8RBRTRYR]R_RcRdReR9RfRj(((s/usr/lib/python2.6/filecmp.pyRMs"    #      cCskgggf}xU|D]M}tii||}tii||}|t|||i|qW|S(s]Compare common files in two directories. a, b -- directory names common -- list of file names found in both directories shallow -- if true, do comparison based solely on stat() information Returns a tuple of three lists: files that compare equal files that are different filenames that aren't regular files. (RR:RFt_cmpRH(R0R1R?RtresRKtaxtbx((s/usr/lib/python2.6/filecmp.pyRs !cCs9y||||| SWntij odSXdS(Ni(RRG(R0R1tshtabsR((s/usr/lib/python2.6/filecmp.pyRn scCstt|i|S(N(tlistRR>(tflisttskip((s/usr/lib/python2.6/filecmp.pyR3scCsddk}ddk}|i|idd\}}t|djo|iddnt|d|d}d |jo|in |idS( Niitrisneed exactly two argsis-rt(s-rRx( tsystgetopttargvtlent GetoptErrorR*RReRc(RyRztoptionstargstdd((s/usr/lib/python2.6/filecmp.pytdemos   t__main__i ((RmRR t itertoolsRRRRt__all__R RRRRRRRsRnR3RRk(((s/usr/lib/python2.6/filecmp.pyt s   " %