summaryrefslogtreecommitdiffstats
path: root/lib/bb/parse/__init__.py
diff options
context:
space:
mode:
authorHolger Freyther <ich@tamarin.(none)>2009-05-17 06:19:39 +0200
committerRichard Purdie <rpurdie@linux.intel.com>2010-01-21 12:28:39 +0000
commit0746350494c5019a7fd52e46df6aa53658d4e389 (patch)
tree370ec2eef57983f507c7279144292bb4d62351d3 /lib/bb/parse/__init__.py
parent1ff6931c013975cd5a7ed6ef1c9671ee773e88fb (diff)
downloadbitbake-contrib-0746350494c5019a7fd52e46df6aa53658d4e389.tar.gz
[parse] Unify opening a file...
Diffstat (limited to 'lib/bb/parse/__init__.py')
-rw-r--r--lib/bb/parse/__init__.py19
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