| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # | 2 # |
| 3 # Copyright 2014 The Chromium Authors. All rights reserved. | 3 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 """Inlines all module.json files into modules.js.""" | 7 """Inlines all module.json files into modules.js.""" |
| 8 | 8 |
| 9 from os import path | 9 from os import path |
| 10 import errno | 10 import errno |
| 11 import shutil | 11 import shutil |
| 12 import sys | 12 import sys |
| 13 try: |
| 14 import simplejson as json |
| 15 except ImportError: |
| 16 import json |
| 13 | 17 |
| 14 | 18 |
| 15 def read_file(filename): | 19 def read_file(filename): |
| 16 with open(filename, 'rt') as file: | 20 with open(filename, 'rt') as file: |
| 17 return file.read() | 21 return file.read() |
| 18 | 22 |
| 19 | 23 |
| 20 def build_modules(module_jsons): | 24 def build_modules(module_jsons): |
| 21 result = [] | 25 result = [] |
| 22 for json_filename in module_jsons: | 26 for json_filename in module_jsons: |
| 23 if not path.exists(json_filename): | 27 if not path.exists(json_filename): |
| 24 continue | 28 continue |
| 25 module_name = path.basename(path.dirname(json_filename)) | 29 module_name = path.basename(path.dirname(json_filename)) |
| 26 json = read_file(json_filename).replace('{', '{"name":"%s",' % module_na
me, 1) | 30 |
| 27 result.append(json) | 31 # pylint: disable=E1103 |
| 28 return ','.join(result) | 32 module_json = json.loads(read_file(json_filename)) |
| 33 module_json['name'] = module_name |
| 34 |
| 35 # Clear scripts, as they are not used at runtime |
| 36 # (only the fact of their presence is important). |
| 37 if module_json.get('scripts'): |
| 38 module_json['scripts'] = [] |
| 39 result.append(module_json) |
| 40 return json.dumps(result) |
| 29 | 41 |
| 30 | 42 |
| 31 def main(argv): | 43 def main(argv): |
| 32 input_filename = argv[1] | 44 input_filename = argv[1] |
| 33 output_filename = argv[2] | 45 output_filename = argv[2] |
| 34 module_jsons = argv[3:] | 46 module_jsons = argv[3:] |
| 35 | 47 |
| 36 with open(output_filename, 'w') as output_file: | 48 with open(output_filename, 'w') as output_file: |
| 37 output_file.write('var allDescriptors=[%s];' % build_modules(module_json
s)) | 49 output_file.write('var allDescriptors=%s;' % build_modules(module_jsons)
) |
| 38 | 50 |
| 39 | 51 |
| 40 if __name__ == '__main__': | 52 if __name__ == '__main__': |
| 41 sys.exit(main(sys.argv)) | 53 sys.exit(main(sys.argv)) |
| OLD | NEW |