summaryrefslogtreecommitdiff
path: root/misc/openlayers/tools/closure_ws.py
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/tools/closure_ws.py')
-rw-r--r--misc/openlayers/tools/closure_ws.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/misc/openlayers/tools/closure_ws.py b/misc/openlayers/tools/closure_ws.py
new file mode 100644
index 0000000..3bf925a
--- /dev/null
+++ b/misc/openlayers/tools/closure_ws.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+
+import httplib, urllib, sys
+import time
+# Define the parameters for the POST request and encode them in
+# a URL-safe format.
+
+def minimize(code):
+
+ params = urllib.urlencode([
+ ('js_code', code),
+ ('compilation_level', 'SIMPLE_OPTIMIZATIONS'),
+ ('output_format', 'text'),
+ ('output_info', 'compiled_code'),
+ ])
+
+ t = time.time()
+ # Always use the following value for the Content-type header.
+ headers = { "Content-type": "application/x-www-form-urlencoded" }
+ conn = httplib.HTTPConnection('closure-compiler.appspot.com')
+ conn.request('POST', '/compile', params, headers)
+ response = conn.getresponse()
+ data = response.read()
+ conn.close()
+ if data.startswith("Error"):
+ raise Exception(data)
+ print "%.3f seconds to compile" % (time.time() - t)
+ return data