CasperSecurity

Current Path : /usr/lib/python3.10/__pycache__/
Upload File :
Current File : //usr/lib/python3.10/__pycache__/filecmp.cpython-310.pyc

o

`�wi�'�@s�dZddlZddlZddlmZddlmZgd�ZiZdZ	gd�Z
dd	�Zddd�Zd
d�Z
dd�ZGdd�d�Zddd�Zeefdd�Zdd�Zdd�ZedkrWe�dSdS)z�Utilities for comparing files and directories.

Classes:
    dircmp

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

�N)�filterfalse)�GenericAlias)�clear_cache�cmp�dircmp�cmpfiles�DEFAULT_IGNORESi )�RCS�CVS�tagsz.gitz.hgz.bzr�_darcs�__pycache__cCst��dS)zClear the filecmp cache.N)�_cache�clear�rr�/usr/lib/python3.10/filecmp.pyrsrTcCs�tt�|��}tt�|��}|dtjks|dtjkrdS|r&||kr&dS|d|dkr0dSt�||||f�}|durSt||�}tt�dkrKt�|t||||f<|S)aMCompare two files.

    Arguments:

    f1 -- First file name

    f2 -- Second file name

    shallow -- treat files as identical if their stat signatures (type, size,
               mtime) are identical. Otherwise, files are considered different
               if their sizes or contents differ.  [default: 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�s2�outcomerrrrs
rcCst�|j�|j|jfS�N)r�S_IFMT�st_mode�st_size�st_mtime)�strrrrFs
�rc	Cs�t}t|d��G}t|d��1}	|�|�}|�|�}||kr,	Wd�Wd�dS|s=	Wd�Wd�dSq1sAwYWd�dS1sQwYdS)N�rbTF)�BUFSIZE�open�read)rr�bufsize�fp1�fp2�b1�b2rrrrKs

��4�rc@s�eZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
ee	eeeeeeeeeeed�Zdd�Zee�ZdS)ra�A 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 instances (or MyDirCmp instances if this
       object is of type MyDirCmp, a subclass of dircmp), keyed by names
       in common_dirs.
     NcCsF||_||_|durtjtjg|_n||_|durt|_dS||_dSr!)�left�rightr�curdir�pardir�hider�ignore)�self�a�br5r4rrr�__init__|s

zdircmp.__init__cCsPtt�|j�|j|j�|_tt�|j�|j|j�|_|j�	�|j�	�dSr!)
�_filterr�listdirr0r4r5�	left_listr1�
right_list�sort�r6rrr�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�normcaser<r=�list�__getitem__�filter�__contains__�commonr�	left_only�
right_only)r6r7r8rrr�phase1�s
z
dircmp.phase1c		Csg|_g|_g|_|jD]x}tj�|j|�}tj�|j|�}d}zt�	|�}Wnt
y2d}Ynwzt�	|�}Wnt
yEd}Ynw|r~t	�|j�}t	�|j�}||kr_|j�
|�qt	�|�rk|j�
|�qt	�|�rw|j�
|�q|j�
|�q|j�
|�qdS)Nrr)�common_dirs�common_files�common_funnyrJrrD�joinr0r1r�OSErrorr"r#�append�S_ISDIR�S_ISREG)	r6�x�a_path�b_path�ok�a_stat�b_stat�a_type�b_typerrr�phase2�s:
��

�z
dircmp.phase2cCs&t|j|j|j�}|\|_|_|_dSr!)rr0r1rO�
same_files�
diff_files�funny_files)r6�xxrrr�phase3�sz
dircmp.phase3cCsPi|_|jD]}tj�|j|�}tj�|j|�}|�|||j|j	�|j|<qdSr!)
�subdirsrNrrDrQr0r1�	__class__r5r4)r6rV�a_x�b_xrrr�phase4�s
�z
dircmp.phase4cCs$|��|j��D]}|��q	dSr!)rhrd�values�phase4_closure�r6�sdrrrrj�s
�zdircmp.phase4_closurecCs�td|j|j�|jr|j��td|jd|j�|jr*|j��td|jd|j�|jr8|j��td|j�|jrF|j��td|j�|jrT|j��td|j�|j	rb|j	��td|j	�|j
rr|j
��td|j
�dSdS)	N�diffzOnly in�:zIdentical files :zDiffering files :zTrouble with common files :zCommon subdirectories :zCommon funny cases :)�printr0r1rKr>rLr_r`rarNrPr?rrr�report�s.






�z
dircmp.reportcCs*|��|j��D]	}t�|��q	dSr!)rprdrirorkrrr�report_partial_closure��

�zdircmp.report_partial_closurecCs*|��|j��D]	}t�|��q	dSr!)rprdriro�report_full_closurerkrrrrs�rrzdircmp.report_full_closure)rdr_r`rarNrOrPrJrKrLr<r=cCs*||jvr	t|��|j||�t||�Sr!)�	methodmap�AttributeError�getattr)r6�attrrrr�__getattr__�s

zdircmp.__getattr__)NN)�__name__�
__module__�__qualname__�__doc__r9r@rMr^rcrhrjrprqrsrArtrx�classmethodr�__class_getitem__rrrrrXs(
##�rcCsJgggf}|D]}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.

    )rrDrQ�_cmprS)r7r8rJr�resrV�ax�bxrrrrs

rcCs*z
|||||��WStyYdSw)N�)rR)r7r8�sh�absrrrrrs
�rcCstt|j|��Sr!)rFrrI)�flist�skiprrrr:&sr:cCstddl}ddl}|�|jdd�d�\}}t|�dkr!|�dd��t|d|d�}d|vr4|��dS|��dS)Nrr�rr�zneed exactly two args)z-r�)�sys�getopt�argvr�GetoptErrorrrsrp)r�r��options�args�ddrrr�demo,sr��__main__)T)r|rr�	itertoolsr�typesr�__all__rr(rrrrrrrr�rr:r�ryrrrr�<module>s,
(

+	
�
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