summaryrefslogtreecommitdiff
path: root/misc/openlayers/tools/uglify_js.py
diff options
context:
space:
mode:
authorChris Schlaeger <chris@linux.com>2014-08-12 21:56:44 +0200
committerChris Schlaeger <chris@linux.com>2014-08-12 21:56:44 +0200
commitea346a785dc1b3f7c156f6fc33da634e1f1a627b (patch)
treeaf67530553d20b6e82ad60fd79593e9c4abf5565 /misc/openlayers/tools/uglify_js.py
parent59741cd535c47f25971bf8c32b25da25ceadc6d5 (diff)
downloadpostrunner-ea346a785dc1b3f7c156f6fc33da634e1f1a627b.zip
Adding jquery, flot and openlayers to be included with the GEM.v0.0.4
Diffstat (limited to 'misc/openlayers/tools/uglify_js.py')
-rw-r--r--misc/openlayers/tools/uglify_js.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/misc/openlayers/tools/uglify_js.py b/misc/openlayers/tools/uglify_js.py
new file mode 100644
index 0000000..50ef098
--- /dev/null
+++ b/misc/openlayers/tools/uglify_js.py
@@ -0,0 +1,35 @@
+"""Utility to use the Uglify JS Compiler CLI from Python."""
+
+import logging
+import subprocess
+
+
+def check_available():
+ """ Returns whether the uglify-js tool is available. """
+ subprocess.check_output(['which', 'uglifyjs'])
+
+
+def compile(source_paths, flags=None):
+ """
+ Prepares command-line call to uglify-js compiler.
+
+ Args:
+ source_paths: Source paths to build, in order.
+ flags: A list of additional flags to pass on to uglify-js.
+
+ Returns:
+ The compiled source, as a string, or None if compilation failed.
+ """
+
+ args = ['uglifyjs']
+ args.extend(source_paths)
+ args.extend(['-c', '-m'])
+ if flags:
+ args += flags
+
+ logging.info('Compiling with the following command: %s', ' '.join(args))
+
+ try:
+ return subprocess.check_output(args)
+ except subprocess.CalledProcessError:
+ return