moved in code to help render
[to_fork_or_not] / render_templates.py
diff --git a/render_templates.py b/render_templates.py
new file mode 100755 (executable)
index 0000000..fb2abb4
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+import os
+import re
+import codecs
+from time import ctime
+from os.path import walk, getctime
+
+root = os.path.dirname(__file__)
+
+from jinja import Environment, FileSystemLoader
+jinja_env = Environment(loader=FileSystemLoader(root))
+
+def render_walk(arg=None, dirname='', filenames=[]):
+    for filename in filenames:
+        match = re.match(r'(.*)\.tmpl$', filename)
+        if match:
+            filename_base = match.group(1)
+
+            # skip if this is the layout file
+            if filename_base == 'layout': continue
+            if filename_base == 'latex-like-layout': continue
+
+            vars = { 'last_modified' :
+                     unicode(ctime(getctime(os.path.join(dirname, filename)))) }
+
+            # remove the root from the dirname
+            dirname = re.sub(re.escape(root) + r'/?(.*)$', r'\1', dirname) 
+
+            tmpl = jinja_env.get_template(os.path.join(dirname, filename))
+            tmpl.render(vars)
+
+            output_file = codecs.open(os.path.join(dirname, filename_base + '.html'), 'w', 'utf-8')
+            print >>output_file, tmpl.render(vars)
+            output_file.close()
+
+walk(root, render_walk, None)
+
+

Benjamin Mako Hill || Want to submit a patch?