CasperSecurity

Current Path : /snap/core20/current/usr/lib/python3.8/__pycache__/
Upload File :
Current File : //snap/core20/current/usr/lib/python3.8/__pycache__/filecmp.cpython-38.pyc

U

�@if&�@s�dZddlZddlZddlmZdddddgZiZd	Zd
ddd
ddddgZdd�Z	d"dd�Z
dd�Zdd�ZGdd�d�Z
d#dd�Zee
fdd�Zdd�Zdd �Zed!kr�e�dS)$z�Utilities for comparing files and directories.

Classes:
    dircmp

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

�N)�filterfalse�clear_cache�cmp�dircmp�cmpfiles�DEFAULT_IGNORESi ZRCSZCVSZtagsz.gitz.hgz.bzrZ_darcs�__pycache__cCst��dS)zClear the filecmp cache.N)�_cache�clear�rr�/usr/lib/python3.8/filecmp.pyrsTcCs�tt�|��}tt�|��}|dtjks8|dtjkr<dS|rL||krLdS|d|dkr`dSt�||||f�}|dkr�t||�}tt�dkr�t�|t||||f<|S)a�Compare 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().

    rFT�N�d)	�_sig�os�stat�S_IFREGr	�get�_do_cmp�lenr)�f1�f2�shallow�s1�s2Zoutcomerrrrs
cCst�|j�|j|jfS�N)r�S_IFMT�st_mode�st_size�st_mtime)�strrrrDs
�rc
Cs�t}t|d��n}t|d��X}|�|�}|�|�}||krPW5QR�W5QR�dS|sW5QR�W5QR�dSqW5QRXW5QRXdS)N�rbFT)�BUFSIZE�open�read)rr�bufsize�fp1�fp2Zb1Zb2rrrrIs

rc@s�eZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
ee	eeeeeeeeeeed�Zdd�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||_||_|dkr$tjtjg|_n||_|dkr:t|_n||_dSr)�left�rightr�curdir�pardir�hider�ignore)�self�a�br-r,rrr�__init__xszdircmp.__init__cCsPtt�|j�|j|j�|_tt�|j�|j|j�|_|j�	�|j�	�dSr)
�_filterr�listdirr(r,r-�	left_listr)�
right_list�sort�r.rrr�phase0�s
�
�
z
dircmp.phase0cCs�ttttjj|j�|j��}ttttjj|j�|j��}tt|j	t
|j|���|_tt|j	t
|j|���|_tt|j	t
|j|���|_dSr)�dict�zip�mapr�path�normcaser4r5�list�__getitem__�filter�__contains__�commonr�	left_only�
right_only)r.r/r0rrr�phase1�s
z
dircmp.phase1c
Cs4g|_g|_g|_|jD�]}tj�|j|�}tj�|j|�}d}zt�	|�}Wn&t
k
rv}zd}W5d}~XYnXzt�	|�}Wn&t
k
r�}zd}W5d}~XYnX|�r"t	�|j�}t	�|j�}	||	kr�|j�
|�n>t	�|�r�|j�
|�n&t	�|��r|j�
|�n|j�
|�q|j�
|�qdS)Nr
r)�common_dirs�common_files�common_funnyrBrr<�joinr(r)r�OSErrorrr�append�S_ISDIR�S_ISREG)
r.�xZa_pathZb_path�okZa_statZwhyZb_statZa_typeZb_typerrr�phase2�s4
z
dircmp.phase2cCs&t|j|j|j�}|\|_|_|_dSr)rr(r)rG�
same_files�
diff_files�funny_files)r.Zxxrrr�phase3�sz
dircmp.phase3cCsNi|_|jD]<}tj�|j|�}tj�|j|�}t|||j|j	�|j|<qdSr)
�subdirsrFrr<rIr(r)rr-r,)r.rNZa_xZb_xrrr�phase4�s

z
dircmp.phase4cCs$|��|j��D]}|��qdSr)rVrU�values�phase4_closure�r.ZsdrrrrX�szdircmp.phase4_closurecCs�td|j|j�|jr2|j��td|jd|j�|jrT|j��td|jd|j�|jrp|j��td|j�|jr�|j��td|j�|jr�|j��td|j�|j	r�|j	��td|j	�|j
r�|j
��td|j
�dS)	NZdiffzOnly in�:zIdentical files :zDiffering files :zTrouble with common files :zCommon subdirectories :zCommon funny cases :)�printr(r)rCr6rDrQrRrSrFrHr7rrr�report�s,






z
dircmp.reportcCs*|��|j��D]}t�|��qdSr)r\rUrWr[rYrrr�report_partial_closure�szdircmp.report_partial_closurecCs*|��|j��D]}t�|��qdSr)r\rUrWr[�report_full_closurerYrrrr^�szdircmp.report_full_closure)rUrQrRrSrFrGrHrBrCrDr4r5cCs*||jkrt|��|j||�t||�Sr)�	methodmap�AttributeError�getattr)r.�attrrrr�__getattr__�s
zdircmp.__getattr__)NN)�__name__�
__module__�__qualname__�__doc__r1r8rErPrTrVrXr\r]r^r9r_rcrrrrrVs2!
#
�cCsJgggf}|D]6}tj�||�}tj�||�}|t|||��|�q|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<rI�_cmprK)r/r0rBr�resrNZaxZbxrrrr�s
cCs0z|||||��WStk
r*YdSXdS)N�)rJ)r/r0Zsh�absrrrrrhsrhcCstt|j|��Sr)r>rrA)Zflist�skiprrrr2sr2cCsrddl}ddl}|�|jdd�d�\}}t|�dkrB|�dd��t|d|d�}d|krf|��n|��dS)Nrr
�rrjzneed exactly two args)z-r�)�sys�getopt�argvrZGetoptErrorrr^r\)rorpZoptions�argsZddrrr�demo$s
rs�__main__)T)T)rgrr�	itertoolsr�__all__r	r"rrrrrrrrkrhr2rsrdrrrr�<module>s6�
'
%
	
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY