Add locate() function to autotest_utils. Acts much like:
find . -name 'pattern' and returns a list of files matching
the pattern.
Signed-off-by: Ryan Harper <[email protected]>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@1034 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/client/bin/autotest_utils.py b/client/bin/autotest_utils.py
index d463a20..e171494 100755
--- a/client/bin/autotest_utils.py
+++ b/client/bin/autotest_utils.py
@@ -3,7 +3,7 @@
import os,os.path,shutil,urllib,sys,signal,commands,pickle,glob,statvfs
from common.error import *
-import re,string
+import re,string,fnmatch
def grep(pattern, file):
"""
@@ -561,6 +561,14 @@
keyval.close()
+# much like find . -name 'pattern'
+def locate(pattern, root=os.getcwd()):
+ for path, dirs, files in os.walk(root):
+ for f in [os.path.abspath(os.path.join(path, f))
+ for f in files if fnmatch.fnmatch(f, pattern)]:
+ yield f
+
+
def freespace(path):
# Find free space available in bytes
s = os.statvfs(path)