| #!/usr/bin/env python3 | |
| # | |
| # Copyright 2013 The Flutter Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| import fnmatch | |
| import os | |
| import subprocess | |
| def commit(message, cwd=None): | |
| subprocess.call(['git', 'commit', '-a', '-m', message], cwd=cwd) | |
| def system(command, cwd=None): | |
| return subprocess.check_output(command, cwd=cwd) | |
| def find(patterns, start='.'): | |
| for path, dirs, files in os.walk(start): | |
| for basename in files + dirs: | |
| if any([fnmatch.fnmatch(basename, pattern) for pattern in patterns]): | |
| filename = os.path.join(path, basename) | |
| yield filename | |
| def filter_file(path, predicate): | |
| with open(path, 'r+') as f: | |
| lines = f.readlines() | |
| new_lines = [line for line in lines if predicate(line)] | |
| f.seek(0) | |
| f.truncate() | |
| f.write(''.join(new_lines)) |