1*6777b538SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*6777b538SAndroid Build Coastguard Worker# 3*6777b538SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors 4*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 5*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 6*6777b538SAndroid Build Coastguard Worker"""Ensures inputs exist and writes a stamp file.""" 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Workerimport argparse 9*6777b538SAndroid Build Coastguard Workerimport pathlib 10*6777b538SAndroid Build Coastguard Workerimport sys 11*6777b538SAndroid Build Coastguard Worker 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Workerdef main(): 14*6777b538SAndroid Build Coastguard Worker parser = argparse.ArgumentParser() 15*6777b538SAndroid Build Coastguard Worker parser.add_argument('--stamp', help='Path to touch on success.') 16*6777b538SAndroid Build Coastguard Worker parser.add_argument('inputs', nargs='+', help='Files to check.') 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker args = parser.parse_args() 19*6777b538SAndroid Build Coastguard Worker 20*6777b538SAndroid Build Coastguard Worker for path in args.inputs: 21*6777b538SAndroid Build Coastguard Worker path_obj = pathlib.Path(path) 22*6777b538SAndroid Build Coastguard Worker if not path_obj.is_file(): 23*6777b538SAndroid Build Coastguard Worker if not path_obj.exists(): 24*6777b538SAndroid Build Coastguard Worker sys.stderr.write(f'File not found: {path}\n') 25*6777b538SAndroid Build Coastguard Worker else: 26*6777b538SAndroid Build Coastguard Worker sys.stderr.write(f'Not a file: {path}\n') 27*6777b538SAndroid Build Coastguard Worker sys.exit(1) 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker if args.stamp: 30*6777b538SAndroid Build Coastguard Worker pathlib.Path(args.stamp).touch() 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker 33*6777b538SAndroid Build Coastguard Workerif __name__ == '__main__': 34*6777b538SAndroid Build Coastguard Worker main() 35