diff options
| author | Chris Larson <chris_larson@mentor.com> | 2011-02-09 06:55:16 -0700 | 
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-03-21 17:51:10 +0000 | 
| commit | 1958b303f98b8db5bab00344823bbb8e086b8dba (patch) | |
| tree | 4eb64047ff65aa1f114a458a0469a5d055711953 /meta | |
| parent | cefbf3a14fcf87e18f7a63a1f55904d9d612ed3e (diff) | |
| download | openembedded-core-1958b303f98b8db5bab00344823bbb8e086b8dba.tar.gz openembedded-core-1958b303f98b8db5bab00344823bbb8e086b8dba.tar.bz2 openembedded-core-1958b303f98b8db5bab00344823bbb8e086b8dba.tar.xz openembedded-core-1958b303f98b8db5bab00344823bbb8e086b8dba.zip | |
oe.path: sync up with current OE
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Diffstat (limited to 'meta')
| -rw-r--r-- | 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 08ddbf22a..8eaa3c5da 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) | 
