HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/lib/python3.5/__pycache__/filecmp.cpython-35.pyc


Faf&@sdZddlZddlZddlmZdddddgZiZd#Zddd
dddddgZddZ	dddZ
ddZddZGdddZ
dddZee
ddZddZd d!Zed"kredS)$zUtilities for comparing files and directories.

Classes:
    dircmp

Functions:
    cmp(f1, f2, shallow=True) -> int
    cmpfiles(a, b, common) -> ([], [], [])
    clear_cache()

N)filterfalseclear_cachecmpdircmpcmpfilesDEFAULT_IGNORESiZRCSZCVSZtagsz.gitz.hgz.bzrZ_darcs__pycache__cCstjdS)zClear the filecmp cache.N)_cacheclearrr/usr/lib/python3.5/filecmp.pyrsTcCsttj|}ttj|}|dtjksP|dtjkrTdS|rj||krjdS|d|dkrdStj||||f}|dkrt||}ttdkrt|t||||f<|S)aCompare two files.

    Arguments:

    f1 -- First file name

    f2 -- Second file name

    shallow -- Just check stat signature (do not read the files).
               defaults to True.

    Return value:

    True if the files are the same, False otherwise.

    This function uses a cache for past comparisons and the results,
    with cache entries invalidated if their stat information
    changes.  The cache may be cleared by calling clear_cache().

    rFTNd)	_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@seZdZdZddddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ede	dedededededededed ed!ed"eZd#d$ZdS)%raMA 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 DEFAULT_IGNORES.
      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.
     NcCsd||_||_|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_statZwhyZb_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)rUrTvaluesphase4_closure)r.sdrrr
rWs
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)rBr6rCrPrQrRrErG)r.rrr
reports,	
	
	
	
	
	
	
z
dircmp.reportcCs9|jx(|jjD]}t|jqWdS)N)r[rTrVrZ)r.rXrrr
report_partial_closures
zdircmp.report_partial_closurecCs9|jx(|jjD]}t|jqWdS)N)r[rTrVrZreport_full_closure)r.rXrrr
r]s
zdircmp.report_full_closurerTrPrQrRrErFrGrArBrCr4r5cCs9||jkrt||j||t||S)N)	methodmapAttributeErrorgetattr)r.attrrrr
__getattr__szdircmp.__getattr__)__name__
__module____qualname____doc__r1r7rDrOrSrUrWr[r\r]r8r^rbrrrr
rVs" #
cCskgggf}xU|D]M}tjj||}tjj||}|t|||j|qW|S)a]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;rH_cmprJ)r/r0rArZresrMZaxZbxrrr
rs

!cCs8y|||||SWntk
r3dSYnXdS)N)rI)r/r0Zshabsrrrr
rgs
rgcCstt|j|S)N)r=rr@)Zflistskiprrr
r2sr2cCsddl}ddl}|j|jddd\}}t|dkra|jddt|d|d}d|kr|jn
|jdS)	Nrrrrhzneed exactly two args-r)rlrm)sysgetoptargvrZGetoptErrorrr]r[)rnroZoptionsargsZddrrr
demo$s%
rr__main__i )rfrr	itertoolsr__all__r
r"rrrrrrrrirgr2rrrcrrrr
<module>s$'