summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ansible/modules/find.py12
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