|  | #!/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)) |