--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/tools/fileutil.py Tue Feb 16 10:07:05 2010 +0530
@@ -0,0 +1,33 @@
+# Copyright (c) 2008 Nokia Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Lists all the files, with the absolute path, matching the specified pattern.
+import os, fnmatch
+
+# From Python Cookbook, 2nd ed., by Alex Martelli, Anna Martelli
+# Ravenscroft, and David Ascher (O'Reilly Media, 2005) 0-596-00797-3
+def all_files(root, patterns='*', single_level=False, yield_folders=False):
+ # Expand patterns from semicolon-separated string to list
+ patterns = patterns.split(';')
+ for path, subdirs, files in os.walk(root):
+ if yield_folders:
+ files.extend(subdirs)
+ files.sort()
+ for name in files:
+ for pattern in patterns:
+ if fnmatch.fnmatch(name, pattern):
+ yield os.path.join(path, name)
+ break
+ if single_level:
+ break