Your IP : 18.219.197.191
3
� f�@s�dZddlZddlZddlZdddgZdd�dd�Zdd�d d�Zd
d�Zdd
�Zdd�Z dd�Z
dd�Zdd�Zdd�Z
dd�Zejd�Zejd�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�)/opt/alt/python36/lib64/python3.6/glob.pyr scCs.t||d�}|r*t|�r*t|�}|s*t�|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.
F)�_iglob�_isrecursive�next�AssertionError)rr�it�srrr rs
ccs
tjj|�\}}t|�sP|s"t�|r:tjj|�rL|Vntjj|�rL|VdS|s�|rtt|�rtt|||�EdHnt |||�EdHdS||kr�t|�r�t
||d�}n|g}t|�r�|r�t|�r�t}q�t }nt}x2|D]*}x$||||�D]}tjj||�Vq�Wq�WdS)NT)
�os�path�split� has_magicr
�lexists�isdirr�_glob2�_glob1r
�_glob0�join)rr�dironly�dirname�basename�dirsZglob_in_dir�namerrr r
's2
r
cCs0tt||��}t|�s$dd�|D�}tj||�S)Ncss|]}t|�s|VqdS)N)� _ishidden)�.0�xrrr � <genexpr>Rsz_glob1.<locals>.<genexpr>)r�_iterdirr�fnmatch�filter)r�patternr�namesrrr rOsrcCs8|stjj|�r4|gSntjjtjj||��r4|gSgS)N)rrrrr)rrrrrr rUsrcCst||d�S)NF)r)rr&rrr �glob0bsr(cCst||d�S)NF)r)rr&rrr �glob1esr)ccs.t|�st�|dd�Vt||�EdHdS)Nr)rr
� _rlistdir)rr&rrrr rksrccs�|s"t|t�rttjd�}ntj}yXtj|��D}x<|D]4}y|sJ|j�rR|jVWq6tk
rhYq6Xq6WWdQRXWntk
r�dSXdS)N�ASCII)�
isinstance�bytesr�curdir�scandir�is_dirr�OSError)rrr�entryrrr r#rs
r#ccshtt||��}xT|D]L}t|�s|V|r8tjj||�n|}x"t||�D]}tjj||�VqHWqWdS)N)rr#rrrrr*)rrr'r!r�yrrr r*�s
r*z([*?[])s([*?[])cCs(t|t�rtj|�}n
tj|�}|dk S)N)r,r-�magic_check_bytes�search�magic_check)r�matchrrr r�s
rcCs|ddkS)Nr�.�.�.)r8r:r)rrrr r�srcCst|t�r|dkS|dkSdS)Ns**z**)r,r-)r&rrr r�s
rcCs<tjj|�\}}t|t�r(tjd|�}ntjd|�}||S)z#Escape all special characters.
s[\1]z[\1])rr�
splitdriver,r-r4�subr6)rZdriverrr r�s
)�__doc__r�rer$�__all__rrr
rrr(r)rr#r*�compiler6r4rrrrrrrr �<module>s(
(
?>