Your IP : 18.119.114.74


Current Path : /lib64/python3.6/distutils/__pycache__/
Upload File :
Current File : //lib64/python3.6/distutils/__pycache__/filelist.cpython-36.opt-2.pyc

3


 \ 2�@s�ddlZddlZddlZddlZddlmZddlmZmZddl	m
Z
Gdd�d�Zdd�Zej
fd	d
�Zdd�Zddd�ZdS)�N)�convert_path)�DistutilsTemplateError�DistutilsInternalError)�logc@sxeZdZddd�Zdd�Zejfdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zddd�Zddd�ZdS)�FileListNcCsd|_g|_dS)N)�allfiles�files)�self�warn�debug_print�r�*/usr/lib64/python3.6/distutils/filelist.py�__init__szFileList.__init__cCs
||_dS)N)r)r	rrrr
�set_allfiles#szFileList.set_allfilescCst|�|_dS)N)�findallr)r	�dirrrr
r&szFileList.findallcCsddlm}|rt|�dS)Nr)�DEBUG)Zdistutils.debugr�print)r	�msgrrrr
r)szFileList.debug_printcCs|jj|�dS)N)r�append)r	�itemrrr
r3szFileList.appendcCs|jj|�dS)N)r�extend)r	�itemsrrr
r6szFileList.extendcCs@tttjj|j��}g|_x |D]}|jjtjj|��q WdS)N)�sorted�map�os�path�splitrr�join)r	Zsortable_filesZ
sort_tuplerrr
�sort9s
z
FileList.sortcCsDx>tt|j�ddd�D]$}|j||j|dkr|j|=qWdS)N�r���)�range�lenr)r	�irrr
�remove_duplicatesCszFileList.remove_duplicatescCs�|j�}|d}d}}}|dkrTt|�dkr<td|��dd	�|d
d�D�}n~|dkr�t|�d
krttd|��t|d
�}dd	�|dd�D�}n:|dkr�t|�dkr�td|��t|d
�}ntd|��||||fS)Nr�include�exclude�global-include�global-exclude�z&'%s' expects <pattern1> <pattern2> ...cSsg|]}t|��qSr)r)�.0�wrrr
�
<listcomp>Wsz1FileList._parse_template_line.<locals>.<listcomp>r �recursive-include�recursive-exclude�z,'%s' expects <dir> <pattern1> <pattern2> ...cSsg|]}t|��qSr)r)r+r,rrr
r-]s�graft�prunez#'%s' expects a single <dir_pattern>zunknown action '%s')r&r'r(r))r.r/)r1r2)rr#rr)r	�lineZwords�action�patternsr�dir_patternrrr
�_parse_template_lineLs,


zFileList._parse_template_linecCsX|j|�\}}}}|dkrZ|jddj|��x&|D]}|j|dd�s4tjd|�q4W�n�|dkr�|jddj|��x&|D]}|j|dd�s|tjd	|�q|W�n�|d
kr�|jddj|��x&|D]}|j|dd�s�tjd
|�q�W�nj|dk�r8|jddj|��x*|D]"}|j|dd��stjd|��qW�n|dk�r�|jd|dj|�f�x,|D]$}|j||d��s`tjd||��q`Wn�|dk�r�|jd|dj|�f�x�|D]$}|j||d��s�tjd||��q�Wnx|dk�r|jd|�|jd|d��sTtjd|�nB|dk�rH|jd|�|jd|d��sTtjd|�ntd|��dS)Nr&zinclude � r )�anchorz%warning: no files found matching '%s'r'zexclude z9warning: no previously-included files found matching '%s'zglobal-includezglobal-include rz>warning: no files found matching '%s' anywhere in distributionzglobal-excludezglobal-exclude zRwarning: no previously-included files matching '%s' found anywhere in distributionzrecursive-includezrecursive-include %s %s)�prefixz:warning: no files found matching '%s' under directory '%s'zrecursive-excludezrecursive-exclude %s %szNwarning: no previously-included files matching '%s' found under directory '%s'r1zgraft z+warning: no directories found matching '%s'r2zprune z6no previously-included directories found matching '%s'z'this cannot happen: invalid action '%s')r7rr�include_patternrr
�exclude_patternr)r	r3r4r5rr6�patternrrr
�process_template_linehsf










zFileList.process_template_liner rcCspd}t||||�}|jd|j�|jdkr4|j�x6|jD],}|j|�r<|jd|�|jj|�d}q<W|S)NFz%include_pattern: applying regex r'%s'z adding T)�translate_patternrr=rr�searchrr)r	r=r9r:�is_regex�files_found�
pattern_re�namerrr
r;�s


zFileList.include_patterncCsvd}t||||�}|jd|j�xNtt|j�ddd�D]4}|j|j|�r:|jd|j|�|j|=d}q:W|S)NFz%exclude_pattern: applying regex r'%s'r z
 removing Tr!r!)r?rr=r"r#rr@)r	r=r9r:rArBrCr$rrr
r<�s
zFileList.exclude_pattern)NN)r Nr)r Nr)�__name__�
__module__�__qualname__rrr�curdirrrrrrr%r7r>r;r<rrrr
rs


	L
,rcCs&dd�tj|dd�D�}ttjj|�S)Ncss,|]$\}}}|D]}tjj||�VqqdS)N)rrr)r+�base�dirsr�filerrr
�	<genexpr>�sz#_find_all_simple.<locals>.<genexpr>T)�followlinks)r�walk�filterr�isfile)rZresultsrrr
�_find_all_simple�srQcCs6t|�}|tjkr.tjtjj|d�}t||�}t|�S)N)�start)	rQrrH�	functools�partialr�relpathr�list)rrZmake_relrrr
rs


rcCs8tj|�}tj}tjdkrd}d|}tjd||�}|S)N�\z\\\\z\1[^%s]z((?<!\\)(\\\\)*)\.)�fnmatch�	translater�sep�re�sub)r=rCrZZescapedrrr
�
glob_to_res

r]r c
Cs�|rt|t�rtj|�S|Std�jd�\}}}|r>t|�}nd}|dk	r�t|�}|t|�t|�t|��}tj}	tjdkr�d}	|t|�t|�t|��}d|||	||f}n|r�d||t|�d�f}tj|�S)N�_�rWz\\z%s\A%s%s.*%s%sz%s\A%s)	�
isinstance�strr[�compiler]�	partitionr#rrZ)
r=r9r:rArRr^�endrCZ	prefix_rerZrrr
r?%s(


r?)r Nr)rr[rXrSZdistutils.utilrZdistutils.errorsrrZ	distutilsrrrQrHrr]r?rrrr
�<module>si