| OLD | NEW |
| (Empty) |
| 1 #!/usr/bin/env python | |
| 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
| 3 # Use of this source code is governed by a BSD-style license that can be | |
| 4 # found in the LICENSE file. | |
| 5 | |
| 6 """Combines the javascript files needed by jstemplate into a single file.""" | |
| 7 | |
| 8 import httplib | |
| 9 import urllib | |
| 10 | |
| 11 | |
| 12 def main(): | |
| 13 srcs = ['util.js', 'jsevalcontext.js', 'jstemplate.js', 'exports.js'] | |
| 14 out = 'jstemplate_compiled.js' | |
| 15 | |
| 16 # Wrap the output in an anonymous function to prevent poluting the global | |
| 17 # namespace. | |
| 18 output_wrapper = '(function(){%s})()' | |
| 19 | |
| 20 # Define the parameters for the POST request and encode them in a URL-safe | |
| 21 # format. See http://code.google.com/closure/compiler/docs/api-ref.html for | |
| 22 # API reference. | |
| 23 params = urllib.urlencode( | |
| 24 map(lambda src: ('js_code', file(src).read()), srcs) + | |
| 25 [ | |
| 26 ('compilation_level', 'ADVANCED_OPTIMIZATIONS'), | |
| 27 ('output_format', 'text'), | |
| 28 ('output_info', 'compiled_code'), | |
| 29 ]) | |
| 30 | |
| 31 # Always use the following value for the Content-type header. | |
| 32 headers = {'Content-type': 'application/x-www-form-urlencoded'} | |
| 33 conn = httplib.HTTPConnection('closure-compiler.appspot.com') | |
| 34 conn.request('POST', '/compile', params, headers) | |
| 35 response = conn.getresponse() | |
| 36 out_file = file(out, 'w') | |
| 37 out_file.write(output_wrapper % response.read()) | |
| 38 out_file.close() | |
| 39 conn.close() | |
| 40 return 0 | |
| 41 | |
| 42 | |
| 43 if __name__ == '__main__': | |
| 44 sys.exit(main()) | |
| OLD | NEW |