Module Find returns empty list when setting path to "/" and depth to 1 (#69650)

* Fix bug on find module when path is / and depth 1.
This commit is contained in:
Helder Garcia 2020-05-26 13:30:59 -03:00 committed by GitHub
parent dae3ba71a8
commit fdfa6fec75
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -409,16 +409,14 @@ def main():
npath = os.path.expanduser(os.path.expandvars(npath))
if os.path.isdir(npath):
for root, dirs, files in os.walk(npath, followlinks=params['follow']):
if params['depth']:
depth = root.replace(npath.rstrip(os.path.sep), '').count(os.path.sep)
if files or dirs:
depth += 1
if depth > params['depth']:
continue
looked = looked + len(files) + len(dirs)
for fsobj in (files + dirs):
fsname = os.path.normpath(os.path.join(root, fsobj))
if params['depth']:
wpath = npath.rstrip(os.path.sep) + os.path.sep
depth = int(fsname.count(os.path.sep)) - int(wpath.count(os.path.sep)) + 1
if depth > params['depth']:
continue
if os.path.basename(fsname).startswith('.') and not params['hidden']:
continue