diff options
Diffstat (limited to 'mojo/tools/utils.py')
-rwxr-xr-x | mojo/tools/utils.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mojo/tools/utils.py b/mojo/tools/utils.py new file mode 100755 index 0000000..740b363 --- /dev/null +++ b/mojo/tools/utils.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +# Copyright 2014 The Chromium 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 + +chromium_root_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), + os.pardir, os.pardir) + +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)) |