45 lines
1.8 KiB
Python
45 lines
1.8 KiB
Python
#print("{% set components = cookiecutter.component_s.split(',') -%}
|
|
#{% for component in components -%}
|
|
# {{ component }}
|
|
# {%- if not loop.last -%}
|
|
# ,
|
|
# {%- endif %}
|
|
#{%- endfor %}")
|
|
import os
|
|
import sys
|
|
|
|
component_subdirs = ["extras", "docker-data"]
|
|
components = ["grafana", "nginx"]
|
|
project_dir = os.getcwd()
|
|
build_context_dir_name = "build-context"
|
|
build_ctx_dir_abs = os.path.join(project_dir, build_context_dir_name)
|
|
for component in components:
|
|
component_dir_abs = os.path.join(build_ctx_dir_abs, component)
|
|
component_dir_rel = os.path.relpath(component_dir_abs, project_dir)
|
|
try:
|
|
os.mkdir(component_dir_abs)
|
|
except FileExistsError:
|
|
print(f"Dir './{component_dir_rel}' already exists when it shouldn't. Aborting and exiting 1 ...")
|
|
sys.exit(1)
|
|
for component_subdir_name in component_subdirs:
|
|
component_subdir_abs = os.path.join(component_dir_abs, component_subdir_name)
|
|
try:
|
|
os.mkdir(component_subdir_abs)
|
|
except FileExistsError:
|
|
print(f"Dir '{component_subdir_name}' inside './{component_dir_rel}' exists when it shouldn't. "
|
|
f"Aborting and exiting 1 ...")
|
|
sys.exit(1)
|
|
|
|
for root, subdirs, filelist in os.walk(project_dir):
|
|
for subdir_name in subdirs:
|
|
if subdir_name in component_subdirs:
|
|
subdir_abs = os.path.join(root, subdir_name)
|
|
gitkeep_file_abs = os.path.join(subdir_abs, ".gitkeep")
|
|
gitkeep_file_rel = os.path.relpath(gitkeep_file_abs, project_dir)
|
|
try:
|
|
with open(gitkeep_file_abs, mode='a'):
|
|
pass
|
|
except IOError:
|
|
print(f"Can't write './{gitkeep_file_rel}'. Aborting and exiting 2 ...")
|
|
sys.exit(2)
|