Viewing File: /usr/lib/python3.6/site-packages/setuptools/__pycache__/glob.cpython-36.pyc
3
XohW @ s d Z ddlZddlZddlZddlmZ dddgZdddZdd dZd
d Z dd
Z
dd Zdd Zdd Z
ejdZejdZdd Zdd Zdd ZdS )z
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.
N)binary_typeglobiglobescapeFc C s t t| |dS )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 /usr/lib/python3.6/glob.pyr s c C s, t | |}|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.
)_iglob_isrecursivenextAssertionError)r r itsr r r
r s
c c s t jj| \}}t| sF|r0t jj| rB| V nt jj|rB| V d S |s|rrt|rrx4t||D ]
}|V qbW nxt||D ]
}|V q~W d S || krt|rt ||}n|g}t|r|rt|rt}qt}nt
}x0|D ](}x"|||D ]}t jj||V qW qW d S )N)ospathsplit has_magiclexistsisdirr glob2glob1r glob0join)r r dirnamebasenamexdirsZglob_in_dirnamer r r
r 2 s4
r c C sR | s"t |trtjjd} ntj} ytj| }W n tk
rD g S X tj||S )NASCII)
isinstancer r curdirencodelistdirOSErrorfnmatchfilter)r patternnamesr r r
r ] s
r c C s8 |st jj| r4|gS nt jjt jj| |r4|gS g S )N)r r r r r )r r r r r
r j s r c c s6 t |st|d d V xt| D ]
}|V q$W d S )Nr )r r _rlistdir)r r( r r r r
r z s r c
c s | s"t | trttjd} ntj} ytj| }W n tjk
rF d S X xJ|D ]B}|V | rjtjj| |n|}x t|D ]}tjj||V qxW qNW d S )Nr ) r! r r r"