summaryrefslogtreecommitdiff
path: root/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'build.py')
-rw-r--r--build.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/build.py b/build.py
new file mode 100644
index 0000000..eb9fdbb
--- /dev/null
+++ b/build.py
@@ -0,0 +1,43 @@
+#!/usr/bin/python
+
+import os
+from jinja2 import Template
+
+def get_memes(directory):
+ memes = []
+ files = os.listdir(directory + "/orig/")
+ files.sort()
+ for f in files:
+ meme = {
+ "orig": "./{}/orig/{}".format(directory, f),
+ "thumb": "./{}/thumb/{}".format(directory, f),
+ }
+ memes.append(meme)
+ return memes
+
+def bake_thumbnails(memes):
+ for meme in memes:
+ if not os.access(meme.get("thumb"), os.F_OK):
+ os.system("convert {} -resize 320x320^\> {}"
+ .format(meme.get("orig"), meme.get("thumb")))
+
+def render_template(template_fname, output_fname, memes):
+ template_file = open(template_fname, "r")
+ output_file = open(output_fname, "w")
+ template = Template(template_file.read())
+ output_file.write(template.render(memes=memes))
+ output_file.close()
+
+
+outdir = "."
+memes_dir = "oreily-memes"
+# The "om_" prefix means "oreily memes"
+om_template_fname = "templates/oreily-memes.html.j2"
+om_outdir = outdir
+om_output_fname = om_outdir + "/" + "oreily-memes.html"
+
+if not os.access(outdir, os.F_OK):
+ os.mkdir(outdir, int('0775', 8))
+memes = get_memes(memes_dir)
+bake_thumbnails(memes)
+render_template(om_template_fname, om_output_fname, memes)