diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-12-07 11:57:43 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-07 11:57:43 (GMT) |
commit | cb0b78a070ea3b704416e74f64046178ae0dff3e (patch) | |
tree | 870d16be7589c152a71a31df5824d4ae29a2c042 /PC/layout/support/filesets.py | |
parent | 8452ca15f41061c8a6297d7956df22ab476d4df4 (diff) | |
download | cpython-cb0b78a070ea3b704416e74f64046178ae0dff3e.zip cpython-cb0b78a070ea3b704416e74f64046178ae0dff3e.tar.gz cpython-cb0b78a070ea3b704416e74f64046178ae0dff3e.tar.bz2 |
Revert "bpo-34977: Add Windows App Store package (GH-10245)" (GH-11019)
This reverts commit 468a15aaf9206448a744fc5eab3fc21f51966aad.
Diffstat (limited to 'PC/layout/support/filesets.py')
-rw-r--r-- | PC/layout/support/filesets.py | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/PC/layout/support/filesets.py b/PC/layout/support/filesets.py deleted file mode 100644 index 47f727c..0000000 --- a/PC/layout/support/filesets.py +++ /dev/null @@ -1,100 +0,0 @@ -""" -File sets and globbing helper for make_layout. -""" - -__author__ = "Steve Dower <steve.dower@python.org>" -__version__ = "3.8" - -import os - - -class FileStemSet: - def __init__(self, *patterns): - self._names = set() - self._prefixes = [] - self._suffixes = [] - for p in map(os.path.normcase, patterns): - if p.endswith("*"): - self._prefixes.append(p[:-1]) - elif p.startswith("*"): - self._suffixes.append(p[1:]) - else: - self._names.add(p) - - def _make_name(self, f): - return os.path.normcase(f.stem) - - def __contains__(self, f): - bn = self._make_name(f) - return ( - bn in self._names - or any(map(bn.startswith, self._prefixes)) - or any(map(bn.endswith, self._suffixes)) - ) - - -class FileNameSet(FileStemSet): - def _make_name(self, f): - return os.path.normcase(f.name) - - -class FileSuffixSet: - def __init__(self, *patterns): - self._names = set() - self._prefixes = [] - self._suffixes = [] - for p in map(os.path.normcase, patterns): - if p.startswith("*."): - self._names.add(p[1:]) - elif p.startswith("*"): - self._suffixes.append(p[1:]) - elif p.endswith("*"): - self._prefixes.append(p[:-1]) - elif p.startswith("."): - self._names.add(p) - else: - self._names.add("." + p) - - def _make_name(self, f): - return os.path.normcase(f.suffix) - - def __contains__(self, f): - bn = self._make_name(f) - return ( - bn in self._names - or any(map(bn.startswith, self._prefixes)) - or any(map(bn.endswith, self._suffixes)) - ) - - -def _rglob(root, pattern, condition): - dirs = [root] - recurse = pattern[:3] in {"**/", "**\\"} - if recurse: - pattern = pattern[3:] - - while dirs: - d = dirs.pop(0) - if recurse: - dirs.extend( - filter( - condition, (type(root)(f2) for f2 in os.scandir(d) if f2.is_dir()) - ) - ) - yield from ( - (f.relative_to(root), f) - for f in d.glob(pattern) - if f.is_file() and condition(f) - ) - - -def _return_true(f): - return True - - -def rglob(root, patterns, condition=None): - if isinstance(patterns, tuple): - for p in patterns: - yield from _rglob(root, p, condition or _return_true) - else: - yield from _rglob(root, patterns, condition or _return_true) |