1#!/usr/bin/env python
2
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
5# found in the LICENSE file.
6
7'''Generates test_messages.js from an extension message json file.'''
8
9import optparse
10import sys
11
12def Die(message):
13  '''Prints an error message and exit the program.'''
14  print >>sys.stderr, message
15  sys.exit(1)
16
17
18# Tempalte for the test_messages.js.
19_JS_TEMPLATE = '''// GENERATED FROM %(in_file)s
20
21goog.provide('cvox.TestMessages');
22
23cvox.TestMessages = %(json)s;
24'''
25
26
27def main():
28  parser = optparse.OptionParser(description=__doc__)
29  parser.add_option('-o', '--output_file', action='store',
30                    metavar='SPEC',
31                    help=('Where to output the generated deps file.'))
32  options, args = parser.parse_args()
33  if options.output_file is None:
34    Die('Output file not specified')
35  if len(args) != 1:
36    Die('Exactly one input file must be specified')
37  in_file_name = args[0];
38  with open(in_file_name) as in_file:
39    json = in_file.read().strip()
40  with open(options.output_file, 'w') as out_file:
41    out_file.write(_JS_TEMPLATE % {'in_file': in_file_name, 'json': json})
42
43
44if __name__ == '__main__':
45  main()
46