• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python
2# Copyright 2016 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
6import os.path
7import sys
8
9try:
10    import json
11except ImportError:
12    import simplejson as json
13
14import pdl
15
16def main(argv):
17    if len(argv) < 1:
18        sys.stderr.write("Usage: %s <protocol-1> [<protocol-2> [, <protocol-3>...]] <output-file>\n" % sys.argv[0])
19        return 1
20
21    domains = []
22    version = None
23    for protocol in argv[:-1]:
24        file_name = os.path.normpath(protocol)
25        if not os.path.isfile(file_name):
26            sys.stderr.write("Cannot find %s\n" % file_name)
27            return 1
28        input_file = open(file_name, "r")
29        parsed_json = pdl.loads(input_file.read(), file_name)
30        domains += parsed_json["domains"]
31        version = parsed_json["version"]
32
33    output_file = open(argv[-1], "w")
34    json.dump({"version": version, "domains": domains}, output_file, indent=4, sort_keys=False, separators=(',', ': '))
35    output_file.close()
36
37
38if __name__ == '__main__':
39    sys.exit(main(sys.argv[1:]))
40