[oe-commits] Ross Burton : utils: add helper to perform the intersection of two string lists

git at git.openembedded.org git at git.openembedded.org
Sat May 23 07:15:17 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: c5b6f672b88f5f42fe0bd59d28104b8dc9ee9a6e
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c5b6f672b88f5f42fe0bd59d28104b8dc9ee9a6e

Author: Ross Burton <ross.burton at intel.com>
Date:   Fri May 22 12:30:26 2015 +0100

utils: add helper to perform the intersection of two string lists

Useful for e.g. generating a COMBINED_FEATURES list from DISTRO_FEATURES and
MACHINE_FEATURES.

Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 meta/lib/oe/utils.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index b8224de..7173e10 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -55,6 +55,21 @@ def both_contain(variable1, variable2, checkvalue, d):
     else:
         return ""
 
+def set_intersect(variable1, variable2, d):
+    """
+    Expand both variables, interpret them as lists of strings, and return the
+    intersection as a flattened string.
+
+    For example:
+    s1 = "a b c"
+    s2 = "b c d"
+    s3 = set_intersect(s1, s2)
+    => s3 = "b c"
+    """
+    val1 = set(d.getVar(variable1, True).split())
+    val2 = set(d.getVar(variable2, True).split())
+    return " ".join(val1 & val2)
+
 def prune_suffix(var, suffixes, d):
     # See if var ends with any of the suffixes listed and
     # remove it if found



More information about the Openembedded-commits mailing list