Your IP : 216.73.217.13


Current Path : /usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/unpackaged.cpython-38.pyc

U

���b��@sBddlmZmZddlZddlZddlmZGdd�dee�ZdS)�)�Plugin�RedHatPluginN)�Pathc@seZdZdZdZdd�ZdS)�
UnpackagedzDCollects a list of files that are not handled by the package manager�
unpackagedcs�dd�}d�fdd�	}�fdd�}�jdd�s2dS|��g}t�fd	d
��j��jj���D����D]}|||�7}qf�fdd�|D�}||�}�jd
�|�ddd�dS)NcSstjd�d�S)z3Return a list of directories in $PATH.
            �PATH�:)�os�environ�split�rr�?/usr/lib/python3/dist-packages/sos/report/plugins/unpackaged.py�get_env_path_listsz+Unpackaged.setup.<locals>.get_env_path_listc
s�g}tj|dd�D]�\}}}|rD|D]��fdd�|D�|dd�<q$|D]^}��||�}z"t�t�|�j�rxt|���}Wnt	k
r�YqHYnX|�
tj�|��qH|D]}|�
tj���||���q�q|S)z�Return a list of all files present on the system, excluding
                any directories listed in `exclude`.

            :param path: the starting path
            :param exclude: list of paths to exclude
            T)�topdowncsg|]}|�kr|�qSrr)�.0�d��err
�
<listcomp>)sz>Unpackaged.setup.<locals>.all_files_system.<locals>.<listcomp>N)
r	�walk�	path_join�stat�S_ISLNK�lstat�st_moderZresolve�	Exception�append�path�realpath)rZexcludeZ	file_list�root�dirs�files�name��selfrr
�all_files_systems$


�
z*Unpackaged.setup.<locals>.all_files_systemc	sJg}|D]<}��|�}��|�r:|�d�|t�|���q|�|�q|S)z4Format the unpackaged list as a string.
            z{} -> {})rZpath_islinkr�formatr	�readlink)r!Zexpanded�f�fpr#rr
�
format_output8s

z'Unpackaged.setup.<locals>.format_outputT)�cmdc3s0|](�t�fdd��D��rtj���VqdS)csg|]}��|��qSr)�
startswith)r�p��xrr
rMsz.Unpackaged.setup.<locals>.<genexpr>.<listcomp>N)�anyr	rr)r)�pathsr.r
�	<genexpr>Js�z#Unpackaged.setup.<locals>.<genexpr>csg|]}|�kr|�qSrr)rr/)�all_frpmrr
rRsz$Unpackaged.setup.<locals>.<listcomp>�
r)Zplug_dir)N)Ztest_predicate�setZpolicyZmangle_package_pathZpackage_managerZ	all_filesZadd_string_as_file�join)r$rr%r*Zall_fsystemrZnot_packagedZnot_packaged_expandedr)r3r1r$r
�setups&

���zUnpackaged.setupN)�__name__�
__module__�__qualname__Z
short_descZplugin_namer7rrrr
rsr)Zsos.report.pluginsrrr	r�pathlibrrrrrr
�<module>	s