Skip to content

Commit 7493064

Browse files
committed
refactor for clarity
1 parent 7365260 commit 7493064

1 file changed

Lines changed: 21 additions & 12 deletions

File tree

metacompose/cli/main.py

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
def env_override(value, key):
88
return os.getenv(key, value)
99

10-
def main():
10+
def parse_args():
1111

1212
parser = argparse.ArgumentParser()
1313

@@ -29,27 +29,36 @@ def main():
2929
help="Use to specify the output file to create. "
3030
"Defaults to ./docker-compose.yml")
3131

32-
args = parser.parse_args()
33-
34-
35-
template_file_name = args.template
36-
output_file_name = args.outputfile
37-
data_file_names = ["meta-compose-data.yml"] + args.datafile
38-
32+
return parser.parse_args()
3933

34+
def setup_jinja(template_file_name):
4035

4136
jinja = Environment(loader=FileSystemLoader("."), undefined=StrictUndefined)
4237
jinja.filters['env'] = env_override
43-
template = jinja.get_template(template_file_name)
38+
return jinja.get_template(template_file_name)
39+
40+
def collect_data(data_file_names):
4441

4542
data = {}
4643
for data_file_name in data_file_names:
4744
if os.path.isfile(data_file_name):
4845
with open(data_file_name, "r") as fh:
4946
data.update(yaml.safe_load(fh))
47+
return data
5048

49+
def write_compose_file(composition, outputfile):
5150

52-
composition = template.render(data)
53-
54-
with open(output_file_name, "w") as fh:
51+
with open(outputfile, "w") as fh:
5552
fh.write(composition)
53+
54+
55+
56+
def main():
57+
58+
args = parse_args()
59+
60+
61+
template = setup_jinja(args.template)
62+
data = collect_data(["meta-compose-data.yml"] + args.datafile)
63+
64+
write_compose_file(template.render(data), args.outputfile)

0 commit comments

Comments
 (0)