403Webshell
Server IP : 127.0.0.1  /  Your IP : 216.73.216.109
Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10
System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64
User : SERVERWEB ( 0)
PHP Version : 8.1.10
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : OFF |  Perl : OFF |  Python : OFF |  Sudo : OFF |  Pkexec : OFF
Directory :  C:/laragon/bin/python/python-3.10/Lib/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : C:/laragon/bin/python/python-3.10/Lib/__pycache__/filecmp.cpython-310.pyc
o

�L�b�(�@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 )ZRCSZCVS�tagsz.gitz.hgz.bzrZ_darcs�__pycache__cCst��dS)zClear the filecmp cache.N)�_cache�clear�r
r
�C:\python3.10-64\lib\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�outcomer
r
rrs
rcCst�|j�|j|jfS�N)r�S_IFMT�st_mode�st_size�st_mtime)�str
r
rrFs
�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�b2r
r
rrKs

��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�br2r1r
r
r�__init__|s

zdircmp.__init__cCsPtt�|j�|j|j�|_tt�|j�|j|j�|_|j�	�|j�	�dSr)
�_filterr�listdirr-r1r2�	left_listr.�
right_list�sort�r3r
r
r�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�normcaser9r:�list�__getitem__�filter�__contains__�commonr�	left_only�
right_only)r3r4r5r
r
r�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_funnyrGrrA�joinr-r.r�OSErrorrr �append�S_ISDIR�S_ISREG)	r3�xZa_pathZb_path�okZa_statZb_stat�a_typeZb_typer
r
r�phase2�s:
��

�z
dircmp.phase2cCs&t|j|j|j�}|\|_|_|_dSr)rr-r.rL�
same_files�
diff_files�funny_files)r3Zxxr
r
r�phase3�sz
dircmp.phase3cCsPi|_|jD]}tj�|j|�}tj�|j|�}|�|||j|j	�|j|<qdSr)
�subdirsrKrrArNr-r.�	__class__r2r1)r3rSZa_xZb_xr
r
r�phase4�s
�z
dircmp.phase4cCs$|��|j��D]}|��q	dSr)r]r[�values�phase4_closure�r3�sdr
r
rr_�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 :)�printr-r.rHr;rIrWrXrYrKrMr<r
r
r�report�s.






�z
dircmp.reportcCs*|��|j��D]	}t�|��q	dSr)rer[r^rdr`r
r
r�report_partial_closure��

�zdircmp.report_partial_closurecCs*|��|j��D]	}t�|��q	dSr)rer[r^rd�report_full_closurer`r
r
rrh�rgzdircmp.report_full_closure)r[rWrXrYrKrLrMrGrHrIr9r:cCs*||jvr	t|��|j||�t||�Sr)�	methodmap�AttributeError�getattr)r3�attrr
r
r�__getattr__�s

zdircmp.__getattr__)NN)�__name__�
__module__�__qualname__�__doc__r6r=rJrVrZr]r_rerfrhr>rirm�classmethodr�__class_getitem__r
r
r
rrXs(
##�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.

    )rrArN�_cmprP)r4r5rGr�resrSZaxZbxr
r
rrs

rcCs*z
|||||��WStyYdSw)N�)rO)r4r5�sh�absrr
r
rrts
�rtcCstt|j|��Sr)rCrrF)�flist�skipr
r
rr7&sr7cCstddl}ddl}|�|jdd�d�\}}t|�dkr!|�dd��t|d|d�}d|vr4|��dS|��dS)Nrr�rrvzneed exactly two args)z-r�)�sys�getopt�argvrZGetoptErrorrrhre)r}r~�options�args�ddr
r
r�demo,sr��__main__)T)rqrr�	itertoolsr�typesr�__all__rr%rrrrrrrrxrtr7r�rnr
r
r
r�<module>s,
(

+	
�

Youez - 2016 - github.com/yon3zu
LinuXploit