summaryrefslogtreecommitdiffstats
path: root/render.py
diff options
context:
space:
mode:
Diffstat (limited to 'render.py')
-rw-r--r--render.py48
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")
+
+
+