1#!/usr/bin/env python 2# Copyright 2014 The Chromium Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6"""Delete files in directories matching a pattern. 7""" 8 9import glob 10import optparse 11import os 12import sys 13 14from util import build_utils 15 16def main(): 17 parser = optparse.OptionParser() 18 parser.add_option( 19 '--pattern', 20 help='Pattern for matching Files to delete.') 21 parser.add_option( 22 '--keep', 23 help='Files to keep even if they matches the pattern.') 24 parser.add_option( 25 '--stamp', 26 help='Path to touch on success') 27 28 options, args = parser.parse_args() 29 30 if not options.pattern or not args: 31 print 'No --pattern or target directories given' 32 return 33 34 for target_dir in args: 35 target_pattern = os.path.join(target_dir, options.pattern) 36 matching_files = glob.glob(target_pattern) 37 38 keep_pattern = os.path.join(target_dir, options.keep) 39 files_to_keep = glob.glob(keep_pattern) 40 41 for target_file in matching_files: 42 if target_file in files_to_keep: 43 continue 44 45 if os.path.isfile(target_file): 46 os.remove(target_file) 47 48 if options.stamp: 49 build_utils.Touch(options.stamp) 50 51if __name__ == '__main__': 52 sys.exit(main()) 53 54