[PATCH 03/12] oe.path: sync up with current OE
From: Chris Larson <hidden>
Date: 2011-03-17 16:21:05
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Chris Larson <redacted> Signed-off-by: Chris Larson <redacted> --- meta/lib/oe/path.py | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/meta/lib/oe/path.py b/meta/lib/oe/path.py
index 08ddbf2..8eaa3c5 100644
--- a/meta/lib/oe/path.py
+++ b/meta/lib/oe/path.py@@ -1,9 +1,12 @@ +import bb +import errno +import glob +import os import shutil import subprocess 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):
@@ -18,7 +21,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)
@@ -57,21 +59,19 @@ def copytree(src, dst): check_output(cmd, shell=True, stderr=subprocess.STDOUT) -def remove(path): +def remove(path, recurse=True): """Equivalent to rm -f or rm -rf""" - import os, errno, shutil, glob for name in glob.glob(path): try: os.unlink(name) except OSError, exc: - if exc.errno == errno.EISDIR: - shutil.rmtree(path) + if recurse and exc.errno == errno.EISDIR: + shutil.rmtree(name) elif exc.errno != errno.ENOENT: raise def symlink(source, destination, force=False): """Create a symbolic link""" - import os, errno try: if force: remove(destination)
@@ -121,3 +121,10 @@ def check_output(*popenargs, **kwargs): raise CalledProcessError(retcode, cmd, output=output) return output +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)
--
1.7.2.3