Index: mojo/tools/utils.py |
diff --git a/mojo/tools/utils.py b/mojo/tools/utils.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..740b363330c85ea64946186062fcaaa472d90b60 |
--- /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)) |