B Âáy•T™SEã @ 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 ú…/builddir/build/BUILDROOT/alt-python37-setuptools-58.3.0-4.el9.x86_64/opt/alt/python37/lib/python3.7/site-packages/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 }x0|D ](}x"|||ƒD ]}t j ||¡V q¶W q¦W 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 sR | s"t |tƒrtj d¡} ntj} yt | ¡}W n tk rD g 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 )N)r r r r r )r r r r r r a s r c c s6 t |ƒst‚|d d… V xt| ƒD ] }|V q$W d S )Nr )r r Ú _rlistdir)r r( Úxr r r r q s r c c s˜ | s"t | tƒrtj d¡} ntj} yt | ¡}W n tjk rF d S X xJ|D ]B}|V | rjtj | |¡n|}x t |ƒD ]}tj ||¡V qxW qNW d S )Nr ) r r! r r" r# r$ Úerrorr r r* )r r) r+ r Úyr r r r* y s r* z([*?[])s ([*?[])c C s( t | tƒrt | ¡}n t | ¡}|d k S )N)r r! Úmagic_check_bytesÚsearchÚmagic_check)r Úmatchr r r r Ž s r c C s t | tƒr| dkS | dkS d S )Ns **z**)r r! )r( r r r r – s r c C s<