summaryrefslogtreecommitdiffstats
path: root/mojo/tools/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/tools/utils.py')
-rwxr-xr-xmojo/tools/utils.py32
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))