blob: ff40d51a021dae7415f3b45509df317c37b73437 [file] [log] [blame]
Sasha Levitskiy83561d12016-10-10 22:48:10 -07001#!/usr/bin/env python
2#
3# Copyright (C) 2016 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the 'License');
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an 'AS IS' BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17
18import getopt, json, sys
19
20def PrintFileNames(path):
21 with open(path) as jf:
22 data = json.load(jf)
23 for line in data:
24 print(line["Name"])
25
26def PrintCanonicalList(path):
27 with open(path) as jf:
28 data = json.load(jf)
29 for line in data:
30 print "{0:12d} {1}".format(line["Size"], line["Name"])
31
32def PrintUsage(name):
33 print("""
34Usage: %s -[nc] json_files_list
35 -n produces list of files only
36 -c produces classic installed-files.txt
37""" % (name))
38
39def main(argv):
40 try:
41 opts, args = getopt.getopt(argv[1:], "nc", "")
42 except getopt.GetoptError, err:
43 print(err)
44 PrintUsage(argv[0])
45 sys.exit(2)
46
47 if len(opts) == 0:
48 print("No conversion option specified")
49 PrintUsage(argv[0])
50 sys.exit(2)
51
52 if len(args) == 0:
53 print("No input file specified")
54 PrintUsage(argv[0])
55 sys.exit(2)
56
57 for o, a in opts:
58 if o == ("-n"):
59 PrintFileNames(args[0])
60 sys.exit()
61 elif o == ("-c"):
62 PrintCanonicalList(args[0])
63 sys.exit()
64 else:
65 assert False, "Unsupported option"
66
67if __name__ == '__main__':
68 main(sys.argv)