ó Àfc@sËdZddlZddlZddlZddlmZdddgZed„Zed„Z d „Z d „Z d „Z d „Z d „ZejdƒZejdƒZd„Zd„Zd„ZdS(sÊ Filename globbing utility. Mostly a copy of `glob` from Python 3.5. Changes include: * `yield from` and PEP3102 `*` removed. * `bytes` changed to `six.binary_type`. * Hidden files are not ignored. i˙˙˙˙N(t binary_typetglobtiglobtescapecCstt|d|ƒƒS(syReturn 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. t recursive(tlistR(tpathnameR((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyRs cCs4t||ƒ}|r0t|ƒr0t|ƒ}n|S(sŒ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. (t_iglobt _isrecursivetnext(RRtitts((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR s  ccsntjj|ƒ\}}t|ƒse|rGtjj|ƒra|Vqantjj|ƒra|VndS|sÂ|rŸt|ƒrŸx>t||ƒD] }|VqWnxt||ƒD] }|VqŻWdS||krìt|ƒrìt ||ƒ}n |g}t|ƒr%|rt|ƒrt}q+t}nt }x<|D]4}x+|||ƒD]}tjj ||ƒVqHWq2WdS(N( tostpathtsplitt has_magictlexiststisdirRtglob2tglob1Rtglob0tjoin(RRtdirnametbasenametxtdirst glob_in_dirtname((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR2s4         cCsn|s6t|tƒr*tjjdƒ}q6tj}nytj|ƒ}Wntk r]gSXtj||ƒS(NtASCII( t isinstanceRR tcurdirtencodetlistdirtOSErrortfnmatchtfilter(Rtpatterntnames((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR]s  cCsN|s"tjj|ƒrJ|gSn(tjjtjj||ƒƒrJ|gSgS(N(R R RRR(RR((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyRjs  !ccs)|d Vxt|ƒD] }|VqWdS(Ni(t _rlistdir(RR$R((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyRzs ccsÇ|s6t|tƒr*ttjdƒ}q6tj}nytj|ƒ}Wntjk r`dSXx_|D]W}|V|rŽtjj||ƒn|}x(t|ƒD]}tjj||ƒVqĦWqhWdS(NR( RRR RR terrorR RR&(RR%RR ty((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR&‚s  !s([*?[])cCs:t|tƒr!tj|ƒ}ntj|ƒ}|dk S(N(RRtmagic_check_bytestsearcht magic_checktNone(R tmatch((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyR—scCs't|tƒr|dkS|dkSdS(Ns**(RR(R$((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyRŸs cCsVtjj|ƒ\}}t|tƒr<tjd|ƒ}ntjd|ƒ}||S(s#Escape all special characters. s[\1](R R t splitdriveRRR)tsubR+(Rtdrive((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyRĤs (t__doc__R treR"tsetuptools.extern.sixRt__all__tFalseRRRRRRR&tcompileR+R)RRR(((s3/usr/lib/python2.7/site-packages/setuptools/glob.pyts"      +