aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Larson <chris_larson@mentor.com>2010-12-15 11:03:19 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2011-04-22 19:41:08 +0200
commit34f71f238c9e64aa08fb0b0d222a4faca0d71267 (patch)
tree2ac56ed04b3b5454181f5e5f3f820c302f4feac8
parente068af164391d56199f46c5c16927d025cc74518 (diff)
downloadopenembedded-34f71f238c9e64aa08fb0b0d222a4faca0d71267.zip
openembedded-34f71f238c9e64aa08fb0b0d222a4faca0d71267.tar.gz
openembedded-34f71f238c9e64aa08fb0b0d222a4faca0d71267.tar.bz2
oe.utils: add 'inherits' function
This is simply a more convenient form of bb.data.inherits_class, as it can accept any number of classes, and will return True if it inherits any of them. This is similar to how isinstance() behaves. Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--lib/oe/utils.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/oe/utils.py b/lib/oe/utils.py
index 2169ed2..f7d2946 100644
--- a/lib/oe/utils.py
+++ b/lib/oe/utils.py
@@ -1,3 +1,5 @@
+import bb.data
+
def uniq(iterable):
seen = set()
for i in iterable:
@@ -7,8 +9,8 @@ def uniq(iterable):
def read_file(filename):
try:
- f = file( filename, "r" )
- except IOError, reason:
+ f = file(filename, "r")
+ except IOError:
return "" # WARNING: can't raise an error now because of the new RDEPENDS handling. This is a bit ugly. :M:
else:
return f.read().strip()
@@ -60,7 +62,7 @@ def both_contain(variable1, variable2, checkvalue, d):
return ""
def prune_suffix(var, suffixes, d):
- # See if var ends with any of the suffixes listed and
+ # See if var ends with any of the suffixes listed and
# remove it if found
for suffix in suffixes:
if var.endswith(suffix):
@@ -85,3 +87,7 @@ def param_bool(cfg, field, dflt = None):
elif strvalue in ('no', 'n', 'false', 'f', '0'):
return False
raise ValueError("invalid value for boolean parameter '%s': '%s'" % (field, value))
+
+def inherits(d, *classes):
+ """Return True if the metadata inherits any of the specified classes"""
+ return any(bb.data.inherits_class(cls, d) for cls in classes)