diff options
Diffstat (limited to 'render.py')
-rw-r--r-- | render.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/render.py b/render.py new file mode 100644 index 0000000..39e06b1 --- /dev/null +++ b/render.py @@ -0,0 +1,48 @@ +#!/usr/bin/python2 + +import yaml +import os +from jinja2 import Environment, FileSystemLoader + +# configs +basepath="./data" +www_dir="./www" + +env = Environment( loader = FileSystemLoader('./templates')) +hosts = [] + +def load_yaml(path): + with open(path) as f: + return yaml.load(f) + +hosts = load_yaml(os.path.join(basepath, "metadata", "hosts")) + +data = [] + +for host in hosts['hosts']: + + host_data = load_yaml(os.path.join(basepath, host)) + template = env.get_template('host.html') + + print("Rendering host: " + host) + url = host + ".html" + with open(os.path.join(www_dir, url),"w+") as f: + f.write(template.render(**host_data)) + + host_data['url'] = url + + data.append(host_data) + + +template = env.get_template('index.html') + + +print("Rendering host index") + +with open(os.path.join(www_dir, 'index.html'), "w+") as f: + f.write(template.render(hosts=data)) + +print("done") + + + |