#!/usr/bin/env python # # Copyright (C) 2016 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the 'License'); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an 'AS IS' BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # import getopt, json, sys def PrintFileNames(path): with open(path) as jf: data = json.load(jf) for line in data: print(line["Name"]) def PrintCanonicalList(path): with open(path) as jf: data = json.load(jf) for line in data: print "{0:12d} {1}".format(line["Size"], line["Name"]) def PrintUsage(name): print(""" Usage: %s -[nc] json_files_list -n produces list of files only -c produces classic installed-files.txt """ % (name)) def main(argv): try: opts, args = getopt.getopt(argv[1:], "nc", "") except getopt.GetoptError, err: print(err) PrintUsage(argv[0]) sys.exit(2) if len(opts) == 0: print("No conversion option specified") PrintUsage(argv[0]) sys.exit(2) if len(args) == 0: print("No input file specified") PrintUsage(argv[0]) sys.exit(2) for o, a in opts: if o == ("-n"): PrintFileNames(args[0]) sys.exit() elif o == ("-c"): PrintCanonicalList(args[0]) sys.exit() else: assert False, "Unsupported option" if __name__ == '__main__': main(sys.argv)