Revert "GH-116380: Speed up glob.[i]glob() by making fewer system calls. (#116392)" (#130743)

This broke tests on the 'aarch64 Fedora Stable Clang Installed 3.x' and
'AMD64 Fedora Stable Clang Installed 3.x' build bots.

This reverts commit da4899b94a.
This commit is contained in:
Barney Gale 2025-03-01 20:04:01 +00:00 committed by GitHub
parent 5221d9ce0e
commit 5326c27fc6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 228 additions and 239 deletions

View file

@ -558,8 +558,7 @@ class PurePath:
# paths shouldn't match wildcards, so we change it to the empty string.
path = str(self) if self.parts else ''
pattern = str(pattern) if pattern.parts else ''
globber = _StringGlobber(self.parser.sep, case_sensitive,
recursive=True, include_hidden=True)
globber = _StringGlobber(self.parser.sep, case_sensitive, recursive=True)
return globber.compile(pattern)(path) is not None
def match(self, path_pattern, *, case_sensitive=None):
@ -581,8 +580,7 @@ class PurePath:
return False
if len(path_parts) > len(pattern_parts) and path_pattern.anchor:
return False
globber = _StringGlobber(self.parser.sep, case_sensitive,
include_hidden=True)
globber = _StringGlobber(self.parser.sep, case_sensitive)
for path_part, pattern_part in zip(path_parts, pattern_parts):
match = globber.compile(pattern_part)
if match(path_part) is None:
@ -857,8 +855,7 @@ class Path(PurePath):
case_pedantic = True
parts = self._parse_pattern(pattern)
recursive = True if recurse_symlinks else _no_recurse_symlinks
globber = _StringGlobber(self.parser.sep, case_sensitive, case_pedantic,
recursive, include_hidden=True)
globber = _StringGlobber(self.parser.sep, case_sensitive, case_pedantic, recursive)
select = globber.selector(parts[::-1])
root = str(self)
paths = select(self.parser.join(root, ''))