aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Larson <chris_larson@mentor.com>2010-10-09 17:47:28 -0700
committerChris Larson <chris_larson@mentor.com>2010-10-09 18:28:00 -0700
commit7e76f8041cdc6ae588383193c320ff417be8a8b0 (patch)
tree181cb8376f040ea98f34ff3dc64408ff64c7a2de
parent43dedf524875e3d0973913573717b1809a000705 (diff)
downloadopenembedded-7e76f8041cdc6ae588383193c320ff417be8a8b0.tar.gz
oe.path: add 'find' convenience function
find is simply an os.walk in generator form, yielding the absolute path to each file. Signed-off-by: Chris Larson <chris_larson@mentor.com>
-rw-r--r--classes/package_dbg.bbclass13
-rw-r--r--lib/oe/path.py12
2 files changed, 11 insertions, 14 deletions
diff --git a/classes/package_dbg.bbclass b/classes/package_dbg.bbclass
index 19ab04ff39..4f4dd2f20a 100644
--- a/classes/package_dbg.bbclass
+++ b/classes/package_dbg.bbclass
@@ -12,17 +12,6 @@ PACKAGE_DBG_DESC = "Debugging files for %s"
PACKAGE_DBG_EXCLUDE = "${PN}-locale* ${PN}-doc ${PN}-dev *-dbg"
-def __find(dir):
- """ Given a directory, recurses into that directory,
- returning all files. """
-
- from os import walk
- from os.path import join
-
- for root, dirs, files in walk(dir):
- for file in files:
- yield join(root, file)
-
def __package_get_files(pkg, d):
""" Obtains a list of files to be included in a package.
@@ -42,7 +31,7 @@ def __package_get_files(pkg, d):
for globbed in (glob(join(installdir, file[1:])) for file in files):
for path in globbed:
if isdir(path) and not islink(path):
- for file in __find(path):
+ for file in oe.path.find(path):
yield file[installdirlen:]
else:
yield path[installdirlen:]
diff --git a/lib/oe/path.py b/lib/oe/path.py
index 3d64cfaac1..65b438a0e3 100644
--- a/lib/oe/path.py
+++ b/lib/oe/path.py
@@ -1,6 +1,7 @@
+import os
+
def join(*paths):
"""Like os.path.join but doesn't treat absolute RHS specially"""
- import os.path
return os.path.normpath("/".join(paths))
def relative(src, dest):
@@ -15,7 +16,6 @@ def relative(src, dest):
>>> relative("/tmp", "/tmp/foo/bar")
foo/bar
"""
- import os.path
if hasattr(os.path, "relpath"):
return os.path.relpath(dest, src)
@@ -64,3 +64,11 @@ def symlink(source, destination, force=False):
except OSError, e:
if e.errno != errno.EEXIST or os.readlink(destination) != source:
raise
+
+def find(dir, **walkoptions):
+ """ Given a directory, recurses into that directory,
+ returning all files as absolute paths. """
+
+ for root, dirs, files in os.walk(dir, **walkoptions):
+ for file in files:
+ yield os.path.join(root, file)