Your IP : 3.148.240.60
U
e5dA�@s�dZddlZddlZddlZddlZdddgZdd�dd�Zdd�d d�Zd
d�Zdd
�Z dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Ze�d�Ze�d�Zdd�Zdd�Zd d!�Zd"d�ZdS)#zFilename globbing utility.�N�glob�iglob�escapeF�� recursivecCstt||d��S)ayReturn 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.
r)�listr)�pathnamer�r �/usr/lib64/python3.8/glob.pyr
scCs:t�d||�t||d�}|r6t|�r6t|�}|r6t�|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.
z glob.globF)�sys�audit�_iglob�_isrecursive�next�AssertionError)rr�it�sr r r
rsccstj�|�\}}t|�sN|r t�|r8tj�|�rJ|Vntj�|�rJ|VdS|s�|rrt|�rrt|||�EdHnt |||�EdHdS||kr�t|�r�t
||d�}n|g}t|�r�|r�t|�r�t}q�t }nt}|D]&}||||�D]}tj�||�Vq�q�dS)NT)
�os�path�split� has_magicr�lexists�isdirr�_glob2�_glob1r
�_glob0�join)rr�dironly�dirname�basename�dirsZglob_in_dir�namer r r
r
)s2r
cCs0tt||��}t|�s$dd�|D�}t�||�S)Ncss|]}t|�s|VqdS�N)� _ishidden)�.0�xr r r
� <genexpr>Tsz_glob1.<locals>.<genexpr>)r�_iterdirr#�fnmatch�filter)r�patternr�namesr r r
rQsrcCs8|stj�|�r4|gSntj�tj�||��r4|gSgSr")rrrrr)rrrr r r
rWsrcCst||d�S�NF)r�rr*r r r
�glob0dsr.cCst||d�Sr,)rr-r r r
�glob1gsr/ccs.t|�st�|dd�Vt||�EdHdS)Nr)rr� _rlistdir)rr*rr r r
rmsrc
cs�|s"t|t�rttjd�}ntj}zRt�|��>}|D]2}z|rF|��rN|jVWq4tk
rdYq4Xq4W5QRXWntk
r�YdSXdS)N�ASCII)�
isinstance�bytesr�curdir�scandir�is_dirr!�OSError)rrr�entryr r r
r'ts
r'ccs`tt||��}|D]H}t|�s|V|r6tj�||�n|}t||�D]}tj�||�VqDqdSr")rr'r#rrrr0)rrr+r%r�yr r r
r0�sr0z([*?[])s([*?[])cCs(t|t�rt�|�}n
t�|�}|dk Sr")r2r3�magic_check_bytes�search�magic_check)r�matchr r r
r�s
rcCs|ddkS)Nr)�.�.r )rr r r
r#�sr#cCst|t�r|dkS|dkSdS)Ns**z**)r2r3)r*r r r
r�s
rcCs<tj�|�\}}t|t�r(t�d|�}nt�d|�}||S)z#Escape all special characters.
s[\1]z[\1])rr�
splitdriver2r3r:�subr<)rZdriver r r
r�s
)�__doc__r�rer(r�__all__rrr
rrr.r/rr'r0�compiler<r:rr#rrr r r r
�<module>s*
(
?>