Your IP : 3.15.10.104
o
~�Re � @ s� d Z ddlZddlZddlZg d�Zddd�Zddd�Zd d
� Zdd� Zd
d� Z dd� Z
dd� Ze�d�Z
e�d�Zdd� Zdd� Zdd� ZdS )z�
Filename globbing utility. Mostly a copy of `glob` from Python 3.5.
Changes include:
* `yield from` and PEP3102 `*` removed.
* Hidden files are not ignored.
� N)�glob�iglob�escapeFc C s t t| |d��S )ay Return a list of paths matching a pathname pattern.
The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns.
If recursive is true, the pattern '**' will match any files and
zero or more directories and subdirectories.
)� recursive)�listr )�pathnamer � r ��/builddir/build/BUILDROOT/alt-python310-setuptools-58.3.0-2.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/setuptools/glob.pyr s r c C s* t | |�}|rt| �rt|�}|rJ �|S )a� Return an iterator which yields the paths matching a pathname pattern.
The pattern may contain simple shell-style wildcards a la
fnmatch. However, unlike fnmatch, filenames starting with a
dot are special cases that are not matched by '*' and '?'
patterns.
If recursive is true, the pattern '**' will match any files and
zero or more directories and subdirectories.
)�_iglob�_isrecursive�next)r r �it�sr r r r s
r c c s� � t j�| �\}}|rt|�rtnt}t| �s/|r$t j�| �r"| V d S t j�|�r-| V d S |s;|||�E d H d S || krIt|�rIt ||�}n|g}t|�sRt
}|D ]}|||�D ]
}t j�||�V q[qTd S �N)�os�path�splitr �glob2�glob1� has_magic�lexists�isdirr
�glob0�join)r r �dirname�basename�glob_in_dir�dirs�namer r r r
0 s0 ����r
c C sT | st |t�rtj�d�} ntj} zt�| �}W n ty# g Y S w t�||�S �N�ASCII) �
isinstance�bytesr �curdir�encode�listdir�OSError�fnmatch�filter)r �pattern�namesr r r r T s
�r c C s: |s
t j�| �r|gS g S t j�t j�| |��r|gS g S r )r r r r r )r r r r r r a s �r c c s4 � t |�sJ �|d d� V t| �D ]}|V qd S )Nr )r � _rlistdir)r r) �xr r r r q s ��r c c s� � | st | t�rtj�d�} ntj} zt�| �}W n tjy$ Y d S w |D ]}|V | r5tj�| |�n|}t |�D ]
}tj�||�V q;q'd S r )
r! r"