diff options
author | Holger Freyther <ich@tamarin.(none)> | 2009-05-17 06:19:39 +0200 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-01-21 12:28:39 +0000 |
commit | 0746350494c5019a7fd52e46df6aa53658d4e389 (patch) | |
tree | 370ec2eef57983f507c7279144292bb4d62351d3 /lib/bb/parse/__init__.py | |
parent | 1ff6931c013975cd5a7ed6ef1c9671ee773e88fb (diff) | |
download | bitbake-contrib-0746350494c5019a7fd52e46df6aa53658d4e389.tar.gz |
[parse] Unify opening a file...
Diffstat (limited to 'lib/bb/parse/__init__.py')
-rw-r--r-- | lib/bb/parse/__init__.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/bb/parse/__init__.py b/lib/bb/parse/__init__.py index 5dd96c413..c6a925c7a 100644 --- a/lib/bb/parse/__init__.py +++ b/lib/bb/parse/__init__.py @@ -80,5 +80,24 @@ def init(fn, data): if h['supports'](fn): return h['init'](data) +def resolve_file(fn, d): + if not os.path.isabs(fn): + f = None + bbpath = (bb.data.getVar('BBPATH', d, 1) or '').split(':') + for p in bbpath: + j = os.path.join(p, fn) + if os.access(j, os.R_OK): + abs_fn = j + f = open(j, 'r') + break + if f is None: + raise IOError("file %s not found" % fn) + else: + f = open(fn,'r') + abs_fn = fn + + bb.msg.debug(2, bb.msg.domain.Parsing, "LOAD %s" % abs_fn) + return (f, abs_fn) + from parse_py import __version__, ConfHandler, BBHandler |