about summary refs log tree commit diff
path: root/strike.py
diff options
context:
space:
mode:
Diffstat (limited to 'strike.py')
-rwxr-xr-xstrike.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/strike.py b/strike.py
index 8faeab3..9f04a20 100755
--- a/strike.py
+++ b/strike.py
@@ -53,16 +53,16 @@ def main():
     template = default_template.read_text()
 
     output_dir = basedir/config['Output']['directory']
-    output_dir.mkdir(parents=True, exist_ok=True)
 
-    for file in os.listdir(input_dir):
-        if (input_dir/file).is_dir():
-            continue
-        if file in exclusions:
-            continue 
-        contents, meta = handle_file(input_dir/file)
-        output = apply_template(contents, meta, template)
-        (output_dir/file).write_text(output)
+    for path, _, files in os.walk(input_dir):
+        loc = os.path.relpath(path, input_dir)
+        (output_dir/loc).mkdir(parents=True, exist_ok=True)
+        for file in files:
+            if file in exclusions:
+                continue 
+            contents, meta = handle_file(input_dir/loc/file)
+            output = apply_template(contents, meta, template)
+            (output_dir/loc/file).write_text(output)
 
 if __name__ == '__main__':
     import sys