Viewing File: /opt/alt/python38/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc
U
+’a ã @ s’ d Z ddlZddlZddlZdddgZddd„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 ú7/tmp/pip-install-1bd_1mtk/setuptools/setuptools/glob.pyr s c C s* t | |ƒ}|r&t| ƒr&t|ƒ}|r&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.
)Ú_iglobÚ_isrecursiveÚnextÚAssertionError)r r ÚitÚsr r r r s
c c sÎ t j | ¡\}}|r t|ƒr tnt}t| ƒsZ|rDt j | ¡rV| V nt j |¡rV| V d S |sr|||ƒE d H d S || krŽt|ƒrŽt ||ƒ}n|g}t|ƒs t
}|D ]$}|||ƒD ]}t j ||¡V q²q¤d 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 s( r
c C sV | s"t |tƒrtj d¡} ntj} zt | ¡}W n tk
rH g Y S X t ||¡S ©NÚASCII) Ú
isinstanceÚbytesr ÚcurdirÚencodeÚlistdirÚOSErrorÚfnmatchÚfilter)r ÚpatternÚnamesr r r r T s
r c C s8 |st j | ¡r4|gS nt j t j | |¡¡r4|gS g S r )r r r r r )r r r r r r a s r c c s2 t |ƒst‚|d d… V t| ƒD ]
}|V q"d S )Nr )r r
Ú _rlistdir)r r* Úxr r r r q s r c c s’ | s"t | tƒrtj d¡} ntj} zt | ¡}W n tjk
rH Y d S X |D ]>}|V | rjtj | |¡n|}t |ƒD ]}tj ||¡V qvqNd S r )
r"