Get the MRE api working #1
36
scripts/render_templates.py
Normal file
36
scripts/render_templates.py
Normal file
@ -0,0 +1,36 @@
|
||||
import os
|
||||
import jinja2
|
||||
import argparse
|
||||
|
||||
def render_template(template_file: str,
|
||||
out_path: str,
|
||||
**kwargs) -> None:
|
||||
folder, file = os.path.split(template_file)
|
||||
template_path = os.path.abspath(folder)
|
||||
env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_path),
|
||||
trim_blocks=True,
|
||||
lstrip_blocks=True)
|
||||
template = env.get_template(file)
|
||||
with open(out_path, 'w+') as save:
|
||||
save.write(template.render(**kwargs))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(prog='render_templates.py',
|
||||
description='A script to render the docker jinja templates.',
|
||||
add_help=True)
|
||||
parser.add_argument('template_path',
|
||||
help='The path to the template to render.')
|
||||
parser.add_argument('out_path',
|
||||
help='The path to write the rendered template.')
|
||||
parser.add_argument('-k',
|
||||
'--kwargs',
|
||||
required=False,
|
||||
type=str,
|
||||
default='',
|
||||
help='Additional kwargs to include if needed (format: key1=value1,key2=value2...).')
|
||||
parser.add_argument('-o',
|
||||
'--overwrite',
|
||||
action='store_true',
|
||||
help='If set the previous template will be overwritten.')
|
||||
|
||||
Loading…
Reference in New Issue
Block a user