diff options
author | Helder Garcia <helder.garcia@gmail.com> | 2020-05-26 13:30:59 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-26 12:30:59 -0400 |
commit | fdfa6fec75da14d7e145eccf7c092fba684ee1e2 (patch) | |
tree | b7685d0074271f93c0b7c20f1089b4cae6321bc1 | |
parent | dae3ba71a85ec39396f08235550e06b5c6fe739a (diff) | |
download | ansible-fdfa6fec75da14d7e145eccf7c092fba684ee1e2.tar.gz |
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.
-rw-r--r-- | lib/ansible/modules/find.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/ansible/modules/find.py b/lib/ansible/modules/find.py index ad8c5ea38e..e9ac43edfe 100644 --- a/lib/ansible/modules/find.py +++ b/lib/ansible/modules/find.py @@ -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 |