path: root/tools
diff options
authorFlavio Percoco <flaper87@gmail.com>2017-01-13 14:09:00 +0100
committerFlavio Percoco <flaper87@gmail.com>2017-01-23 14:01:08 +0100
commit5fbe0c5249d89927fe195581f8c3591df03043ac (patch)
tree161b2b73a8d326ccb550d9226a524c3317508625 /tools
parentfa45e05f5095dabfcb1a8de396b8281b026c13b8 (diff)
Ignore hidden files in directories
Don't walk through hidden files. This avoids going through the .git, .tox and other hidden directories that we don't care about. Change-Id: I34b83229775d221299c8b572a7049175debac99d
Diffstat (limited to 'tools')
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/process-templates.py b/tools/process-templates.py
index 9a06812..381214b 100755
--- a/tools/process-templates.py
+++ b/tools/process-templates.py
@@ -78,6 +78,18 @@ def process_templates(template_path, role_data_path, overwrite):
if os.path.isdir(template_path):
for subdir, dirs, files in os.walk(template_path):
+ # NOTE(flaper87): Ignore hidden dirs as we don't
+ # generate templates for those.
+ # Note the slice assigment for `dirs` is necessary
+ # because we need to modify the *elements* in the
+ # dirs list rather than the reference to the list.
+ # This way we'll make sure os.walk will iterate over
+ # the shrunk list. os.walk doesn't have an API for
+ # filtering dirs at this point.
+ dirs[:] = [d for d in dirs if not d[0] == '.']
+ files = [f for f in files if not f[0] == '.']
for f in files:
file_path = os.path.join(subdir, f)
# We do two templating passes here: