| #!/usr/bin/env python | 
 | # Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 
 | # | 
 | # Use of this source code is governed by a BSD-style license | 
 | # that can be found in the LICENSE file in the root of the source | 
 | # tree. An additional intellectual property rights grant can be found | 
 | # in the file PATENTS.  All contributing project authors may | 
 | # be found in the AUTHORS file in the root of the source tree. | 
 |  | 
 | """ Adds extra patterns to the root .gitignore file. | 
 |  | 
 | Reads the contents of the filename given as the first argument and appends | 
 | them to the root .gitignore file. The new entires are intended to be additional | 
 | ignoring patterns, or negating patterns to override existing entries (man | 
 | gitignore for more details). | 
 | """ | 
 |  | 
 | import os | 
 | import sys | 
 |  | 
 | MODIFY_STRING = '# The following added by %s\n' | 
 |  | 
 |  | 
 | def main(argv): | 
 |   if not argv[1]: | 
 |     # Special case; do nothing. | 
 |     return 0 | 
 |  | 
 |   modify_string = MODIFY_STRING % argv[0] | 
 |   gitignore_file = os.path.dirname(argv[0]) + '/../../.gitignore' | 
 |   lines = open(gitignore_file, 'r').readlines() | 
 |   for i, line in enumerate(lines): | 
 |     # Look for modify_string in the file to ensure we don't append the extra | 
 |     # patterns more than once. | 
 |     if line == modify_string: | 
 |       lines = lines[:i] | 
 |       break | 
 |   lines.append(modify_string) | 
 |  | 
 |   f = open(gitignore_file, 'w') | 
 |   f.write(''.join(lines)) | 
 |   f.write(open(argv[1], 'r').read()) | 
 |   f.close() | 
 |  | 
 | if __name__ == '__main__': | 
 |   sys.exit(main(sys.argv)) |