a XC?h('�@s�dZddlZddlZddlmZddlmZgd�ZiZdZ gd�Z dd �Z dd d �Z d d�Z dd�ZGdd�d�Zddd�Zee fdd�Zdd�Zdd�Zedkr�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)� GenericAlias)� clear_cache�cmp�dircmp�cmpfiles�DEFAULT_IGNORESi )ZRCSZCVSZtagsz.gitz.hgz.bzrZ_darcs� __pycache__cCs t��dS)zClear the filecmp cache.N)�_cache�clear�r r �,/opt/alt/python39/lib64/python3.9/filecmp.pyrsrTcCs�tt�|��}tt�|��}|dtjks8|dtjkr 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||_||_|dur$tjtjg|_n||_|dur:t|_n||_dSr)�left�rightr�curdir�pardir�hider�ignore)�self�a�br.r-r r r �__init__zszdircmp.__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�normcaser5r6�list� __getitem__�filter� __contains__�commonr� left_only� right_only)r/r0r1r r r �phase1�s z dircmp.phase1c Csg|_g|_g|_|jD]�}tj�|j|�}tj�|j|�}d}zt� |�}Wnt ydd}Yn0zt� |�}Wnt y�d}Yn0|r�t � |j �}t � |j �}||kr�|j� |�ns(    ( (