35 lines
827 B
Python
Executable File
35 lines
827 B
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# Copyright 2023 The Chromium Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
"""Ensures inputs exist and writes a stamp file."""
|
|
|
|
import argparse
|
|
import pathlib
|
|
import sys
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--stamp', help='Path to touch on success.')
|
|
parser.add_argument('inputs', nargs='+', help='Files to check.')
|
|
|
|
args = parser.parse_args()
|
|
|
|
for path in args.inputs:
|
|
path_obj = pathlib.Path(path)
|
|
if not path_obj.is_file():
|
|
if not path_obj.exists():
|
|
sys.stderr.write(f'File not found: {path}\n')
|
|
else:
|
|
sys.stderr.write(f'Not a file: {path}\n')
|
|
sys.exit(1)
|
|
|
|
if args.stamp:
|
|
pathlib.Path(args.stamp).touch()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|