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 |