--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/custom/processors.py Fri Feb 19 11:50:18 2016 +0000
@@ -0,0 +1,22 @@
+import os
+import sys
+from django.conf import settings
+from hydeengine.file_system import File
+from subprocess import check_output, CalledProcessError
+
+class Wisp:
+ @staticmethod
+ def process(resource):
+ wisp = settings.WISP_PATH
+ if not wisp or not os.path.exists(wisp):
+ raise ValueError("Wisp cannot be found at [%s]" % wisp)
+
+ try:
+ data = check_output([wisp, "-c", resource.source_file.path]).decode('utf-8')
+ except CalledProcessError, e:
+ print 'Syntax Error when calling Wisp:', e
+ return None
+
+ out_file = File(resource.source_file.path_without_extension + ".js")
+ resource.source_file = out_file
+ resource.source_file.write(data)
--- a/settings.py Wed Dec 16 23:25:03 2015 +0000
+++ b/settings.py Fri Feb 19 11:50:18 2016 +0000
@@ -45,7 +45,10 @@
'images/': {
'.png': ('hydeengine.media_processors.Thumbnail',),
'.jpg': ('hydeengine.media_processors.Thumbnail',),
- }
+ },
+ 'js/': {
+ '.wisp': ('custom.processors.Wisp',),
+ },
}
CONTENT_PROCESSORS = {}
@@ -104,6 +107,7 @@
THUMBNAIL_MAX_WIDTH = 1400000000
THUMBNAIL_MAX_HEIGHT = 100
THUMBNAIL_FILENAME_POSTFIX = '-thumb'
+WISP_PATH = '/usr/local/bin/wisp'
# Django settings