Merge "Add preserve_extracted_files option in compare_images" am: 384d61d947 am: c0a025fbad
Change-Id: Ib559d9f977355aa8d9631a334dca86b7c5328f44
This commit is contained in:
@@ -207,26 +207,32 @@ def main(all_targets, search_paths, whitelists, ignore_signing_key=False):
|
|||||||
fout.write(header)
|
fout.write(header)
|
||||||
fout.writelines(whitelisted_diff)
|
fout.writelines(whitelisted_diff)
|
||||||
|
|
||||||
|
def main_with_zip(extracted_paths, args):
|
||||||
|
for origin_path, tmp_path in zip(args.target, extracted_paths):
|
||||||
|
unzip_cmd = ["unzip", "-qd", tmp_path, os.path.join(origin_path, "*.zip")]
|
||||||
|
unzip_cmd.extend([os.path.join(s, "*") for s in args.search_path])
|
||||||
|
subprocess.call(unzip_cmd)
|
||||||
|
main(extracted_paths, args.search_path, args.whitelist, args.ignore_signing_key)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser(prog="compare_images", usage="compare_images -t model1 model2 [model...] -s dir1 [dir...] [-i] [-u] [-w whitelist1] [-w whitelist2]")
|
parser = argparse.ArgumentParser(prog="compare_images", usage="compare_images -t model1 model2 [model...] -s dir1 [dir...] [-i] [-u] [-p] [-w whitelist1] [-w whitelist2]")
|
||||||
parser.add_argument("-t", "--target", nargs='+', required=True)
|
parser.add_argument("-t", "--target", nargs='+', required=True)
|
||||||
parser.add_argument("-s", "--search_path", nargs='+', required=True)
|
parser.add_argument("-s", "--search_path", nargs='+', required=True)
|
||||||
parser.add_argument("-i", "--ignore_signing_key", action='store_true')
|
parser.add_argument("-i", "--ignore_signing_key", action='store_true')
|
||||||
parser.add_argument("-u", "--unzip", action='store_true')
|
parser.add_argument("-u", "--unzip", action='store_true')
|
||||||
|
parser.add_argument("-p", "--preserve_extracted_files", action='store_true')
|
||||||
parser.add_argument("-w", "--whitelist", action="append", default=[])
|
parser.add_argument("-w", "--whitelist", action="append", default=[])
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
if len(args.target) < 2:
|
if len(args.target) < 2:
|
||||||
parser.error("The number of targets has to be at least two.")
|
parser.error("The number of targets has to be at least two.")
|
||||||
if args.unzip:
|
if args.unzip:
|
||||||
with tempfile.TemporaryDirectory() as tmpdir:
|
if args.preserve_extracted_files:
|
||||||
target_in_tmp = [os.path.join(tmpdir, t) for t in args.target]
|
main_with_zip(args.target, args)
|
||||||
for p in target_in_tmp:
|
else:
|
||||||
os.makedirs(p)
|
with tempfile.TemporaryDirectory() as tmpdir:
|
||||||
for origin_path, tmp_path in zip(args.target, target_in_tmp):
|
target_in_tmp = [os.path.join(tmpdir, t) for t in args.target]
|
||||||
unzip_cmd = ["unzip", "-qd", tmp_path, os.path.join(origin_path, "*.zip")]
|
for p in target_in_tmp:
|
||||||
unzip_cmd.extend([os.path.join(s, "*") for s in args.search_path])
|
os.makedirs(p)
|
||||||
subprocess.call(unzip_cmd)
|
main_with_zip(target_in_tmp, args)
|
||||||
main(target_in_tmp, args.search_path, args.whitelist, args.ignore_signing_key)
|
|
||||||
else:
|
else:
|
||||||
main(args.target, args.search_path, args.whitelist, args.ignore_signing_key)
|
main(args.target, args.search_path, args.whitelist, args.ignore_signing_key)
|
||||||
|
|||||||
Reference in New Issue
Block a user