IP : 3.139.80.172 Hostname : host45.registrar-servers.com Kernel : Linux host45.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Disable Function : None :) OS : Linux PATH: / home/ ./ ../ lib64/ pgsql/ ../ python3.8/ unittest/ ./ ./ ../ __pycache__/ filecmp.cpython-38.opt-2.pyc/ /

U

e5df&�@s�ddlZddlZddlmZdddddgZiZdZd d
d d d
dddgZdd�Zd!dd�Z dd�Z
dd�Z Gdd�d�Z d"dd�Z
ee fdd�Zdd�Zdd�Zed kr�e�dS)#�N)� filterfalse� clear_cache�cmp�dircmp�cmpfiles�DEFAULT_IGNORESi ZRCSZCVSZtagsz.gitz.hgz.bzrZ_darcs� __pycache__cCs t��dS�N)�_cache�clear�r r �/usr/lib64/python3.8/filecmp.pyrsTcCs�tt�|��}tt�|��}|dtjks8|dtjkr<dS|rL||krLdS|d|dkr`dSt�||||f�}|dkr�t||�}tt�dkr�t�|t||||f<|S)NrFT��d) �_sig�os�stat�S_IFREGr
�get�_do_cmp�lenr)�f1�f2�shallow�s1�s2Zoutcomer r r
rs 
 cCst�|j�|j|jfSr )r�S_IFMT�st_mode�st_size�st_mtime)�str r r
rDs
�rc
Cs�t}t|d��n}t|d��X}|�|�}|�|�}||krPW5QR�W5QR�dS|sW5QR�W5QR�dSqW5QRXW5QRXdS)N�rbFT)�BUFSIZE�open�read)rr�bufsize�fp1�fp2Zb1Zb2r r r
rIs

rc@s�eZdZddd�Zdd�Zdd�Zdd �Zd
d �Zd d
�Zdd�Z dd�Z
dd�Z dd�Z e
eeeeeeeeeeeed� Zdd�ZdS)rNcCsD||_||_|dkr$tjtjg|_n||_|dkr:t|_n||_dSr )�left�rightr�curdir�pardir�hider�ignore)�self�a�br-r,r r r
�__init__xszdircmp.__init__cCsPtt�|j�|j|j�|_tt�|j�|j|j�|_|j� �|j� �dSr )
�_filterr�listdirr(r,r-� left_listr)�
right_list�sort�r.r 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�normcaser4r5�list� __getitem__�filter� __contains__�commonr� left_only�
right_only)r.r/r0r r r
�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)Nrr)� common_dirs� common_files� common_funnyrBrr<�joinr(r)r�OSErrorrr�append�S_ISDIR�S_ISREG)
r.�xZa_pathZb_path�okZa_statZwhyZb_statZa_typeZb_typer r r
�phase2�s4   
 z
dircmp.phase2cCs&t|j|j|j�}|\|_|_|_dSr )rr(r)rG�
same_files�
diff_files� funny_files)r.Zxxr r r
�phase3�sz
dircmp.phase3cCsNi|_|jD]<}tj�|j|�}tj�|j|�}t|||j|j �|j|<q dSr )
�subdirsrFrr<rIr(r)rr-r,)r.rNZa_xZb_xr r r
�phase4�s

z
dircmp.phase4cCs$|��|j��D] }|��qdSr )rVrU�values�phase4_closure�r.Zsdr r r
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)rCr6rDrQrRrSrFrHr7r r r
�report�s,


 
 
 
 
z
dircmp.reportcCs*|��|j��D]}t�|��qdSr )r\rUrWr[rYr r r
�report_partial_closure�szdircmp.report_partial_closurecCs*|��|j��D]}t�|��qdSr )r\rUrWr[�report_full_closurerYr r r
r^�szdircmp.report_full_closure) rUrQrRrSrFrGrHrBrCrDr4r5cCs*||jkrt|��|j||�t||�Sr )� methodmap�AttributeError�getattr)r.�attrr r r
� __getattr__�s
zdircmp.__getattr__)NN)�__name__�
__module__� __qualname__r1r8rErPrTrVrXr\r]r^r9r_rcr r r r
rVs0"
#
�cCsJgggf}|D]6}tj�||�}tj�||�}|t|||��|�q|Sr )rr<rI�_cmprK)r/r0rBr�resrNZaxZbxr r r
r�s
cCs0z|||||�� WStk
r*YdSXdS)N�)rJ)r/r0Zsh�absrr r r
rgsrgcCstt|j|��Sr )r>rrA)Zflist�skipr r r
r2sr2cCsrddl}ddl}|�|jdd�d�\}}t|�dkrB|�dd��t|d|d�}d|krf|��n|��dS)Nrr�rrizneed exactly two args)z-r�)�sys�getopt�argvrZ GetoptErrorrr^r\)rnroZoptions�argsZddr r r
�demo$s  
rr�__main__)T)T)rr� itertoolsr�__all__r
r"rrrrrrrrjrgr2rrrdr r r r
�<module>
s4 �
'
%