#!/usr/bin/env python # Copyright 2014 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. '''Generates test_messages.js from an extension message json file.''' import optparse import sys def Die(message): '''Prints an error message and exit the program.''' print >>sys.stderr, message sys.exit(1) # Tempalte for the test_messages.js. _JS_TEMPLATE = '''// GENERATED FROM %(in_file)s goog.provide('cvox.TestMessages'); cvox.TestMessages = %(json)s; ''' def main(): parser = optparse.OptionParser(description=__doc__) parser.add_option('-o', '--output_file', action='store', metavar='SPEC', help=('Where to output the generated deps file.')) options, args = parser.parse_args() if options.output_file is None: Die('Output file not specified') if len(args) != 1: Die('Exactly one input file must be specified') in_file_name = args[0] with open(in_file_name) as in_file: json = in_file.read().strip() with open(options.output_file, 'w') as out_file: out_file.write(_JS_TEMPLATE % {'in_file': in_file_name, 'json': json}) if __name__ == '__main__': main()