1*635a8641SAndroid Build Coastguard Worker#!/usr/bin/env python 2*635a8641SAndroid Build Coastguard Worker# Copyright (c) 2016 The Chromium Authors. All rights reserved. 3*635a8641SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*635a8641SAndroid Build Coastguard Worker# found in the LICENSE file. 5*635a8641SAndroid Build Coastguard Worker 6*635a8641SAndroid Build Coastguard Worker"""Delete a file. 7*635a8641SAndroid Build Coastguard Worker 8*635a8641SAndroid Build Coastguard WorkerThis module works much like the rm posix command. 9*635a8641SAndroid Build Coastguard Worker""" 10*635a8641SAndroid Build Coastguard Worker 11*635a8641SAndroid Build Coastguard Workerimport argparse 12*635a8641SAndroid Build Coastguard Workerimport os 13*635a8641SAndroid Build Coastguard Workerimport sys 14*635a8641SAndroid Build Coastguard Worker 15*635a8641SAndroid Build Coastguard Worker 16*635a8641SAndroid Build Coastguard Workerdef Main(): 17*635a8641SAndroid Build Coastguard Worker parser = argparse.ArgumentParser() 18*635a8641SAndroid Build Coastguard Worker parser.add_argument('files', nargs='+') 19*635a8641SAndroid Build Coastguard Worker parser.add_argument('-f', '--force', action='store_true', 20*635a8641SAndroid Build Coastguard Worker help="don't err on missing") 21*635a8641SAndroid Build Coastguard Worker parser.add_argument('--stamp', required=True, help='touch this file') 22*635a8641SAndroid Build Coastguard Worker args = parser.parse_args() 23*635a8641SAndroid Build Coastguard Worker for f in args.files: 24*635a8641SAndroid Build Coastguard Worker try: 25*635a8641SAndroid Build Coastguard Worker os.remove(f) 26*635a8641SAndroid Build Coastguard Worker except OSError: 27*635a8641SAndroid Build Coastguard Worker if not args.force: 28*635a8641SAndroid Build Coastguard Worker print >>sys.stderr, "'%s' does not exist" % f 29*635a8641SAndroid Build Coastguard Worker return 1 30*635a8641SAndroid Build Coastguard Worker 31*635a8641SAndroid Build Coastguard Worker with open(args.stamp, 'w'): 32*635a8641SAndroid Build Coastguard Worker os.utime(args.stamp, None) 33*635a8641SAndroid Build Coastguard Worker 34*635a8641SAndroid Build Coastguard Worker return 0 35*635a8641SAndroid Build Coastguard Worker 36*635a8641SAndroid Build Coastguard Worker 37*635a8641SAndroid Build Coastguard Workerif __name__ == '__main__': 38*635a8641SAndroid Build Coastguard Worker sys.exit(Main()) 39