diff options
| author | Skip Montanaro <[email protected]> | 2021-02-16 20:14:16 -0600 |
|---|---|---|
| committer | Skip Montanaro <[email protected]> | 2021-02-16 20:14:16 -0600 |
| commit | c2587c76f1b416cdbecb979e54941933246bf856 (patch) | |
| tree | bb61ee9128075ce22af4eafa232f13c2e5a07896 /lib/glob.py | |
| parent | d90761a005b24018ae237bf551515772a1de656f (diff) | |
| download | python-0.9.1-patched-QoL-c2587c76f1b416cdbecb979e54941933246bf856.tar.xz python-0.9.1-patched-QoL-c2587c76f1b416cdbecb979e54941933246bf856.zip | |
starting over
Diffstat (limited to 'lib/glob.py')
| -rw-r--r-- | lib/glob.py | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/lib/glob.py b/lib/glob.py index b711094..8a70f0e 100644 --- a/lib/glob.py +++ b/lib/glob.py @@ -5,40 +5,40 @@ import path import fnmatch def glob(pathname): - if not has_magic(pathname): return [pathname] - dirname, basename = path.split(pathname) - if dirname[-1:] = '/' and dirname <> '/': - dirname = dirname[:-1] - if has_magic(dirname): - list = glob(dirname) - else: - list = [dirname] - if not has_magic(basename): - result = [] - for dirname in list: - if basename or path.isdir(dirname): - name = path.cat(dirname, basename) - if path.exists(name): - result.append(name) - else: - result = [] - for dirname in list: - sublist = glob1(dirname, basename) - for name in sublist: - result.append(path.cat(dirname, name)) - return result + if not has_magic(pathname): return [pathname] + dirname, basename = path.split(pathname) + if dirname[-1:] = '/' and dirname <> '/': + dirname = dirname[:-1] + if has_magic(dirname): + list = glob(dirname) + else: + list = [dirname] + if not has_magic(basename): + result = [] + for dirname in list: + if basename or path.isdir(dirname): + name = path.cat(dirname, basename) + if path.exists(name): + result.append(name) + else: + result = [] + for dirname in list: + sublist = glob1(dirname, basename) + for name in sublist: + result.append(path.cat(dirname, name)) + return result def glob1(dirname, pattern): - if not dirname: dirname = '.' - try: - names = posix.listdir(dirname) - except posix.error: - return [] - result = [] - for name in names: - if name[0] <> '.' or pattern[0] = '.': - if fnmatch.fnmatch(name, pattern): result.append(name) - return result + if not dirname: dirname = '.' + try: + names = posix.listdir(dirname) + except posix.error: + return [] + result = [] + for name in names: + if name[0] <> '.' or pattern[0] = '.': + if fnmatch.fnmatch(name, pattern): result.append(name) + return result def has_magic(s): - return '*' in s or '?' in s or '[' in s + return '*' in s or '?' in s or '[' in s |
