[oe-commits] Chris Larson : Shift oe import logic out of the event handler

git version control git at git.openembedded.org
Fri May 20 16:40:38 UTC 2011


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

Author: Chris Larson <chris_larson at mentor.com>
Date:   Mon Mar  7 09:51:39 2011 -0700

Shift oe import logic out of the event handler

This can be useful if we need the imports from another config parsed event
handler, and can't rely upon the base one running before that one.

Signed-off-by: Chris Larson <chris_larson at mentor.com>

---

 meta/classes/base.bbclass |   33 ++++++++++++++++++---------------
 1 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 51f5a14..391545c 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -12,26 +12,29 @@ inherit logging
 
 OE_IMPORTS += "os sys time oe.path oe.utils oe.data"
 
-python oe_import () {
-    if isinstance(e, bb.event.ConfigParsed):
-        import os, sys
+def oe_import(d):
+    import os, sys
+
+    bbpath = d.getVar("BBPATH", True).split(":")
+    sys.path[0:0] = [os.path.join(dir, "lib") for dir in bbpath]
 
-        bbpath = e.data.getVar("BBPATH", True).split(":")
-        sys.path[0:0] = [os.path.join(dir, "lib") for dir in bbpath]
+    def inject(name, value):
+        """Make a python object accessible from the metadata"""
+        if hasattr(bb.utils, "_context"):
+            bb.utils._context[name] = value
+        else:
+            __builtins__[name] = value
 
-        def inject(name, value):
-            """Make a python object accessible from the metadata"""
-            if hasattr(bb.utils, "_context"):
-                bb.utils._context[name] = value
-            else:
-                __builtins__[name] = value
+    for toimport in d.getVar("OE_IMPORTS", True).split():
+        imported = __import__(toimport)
+        inject(toimport.split(".", 1)[0], imported)
 
-        for toimport in e.data.getVar("OE_IMPORTS", True).split():
-            imported = __import__(toimport)
-            inject(toimport.split(".", 1)[0], imported)
+python oe_import_eh () {
+    if isinstance(e, bb.event.ConfigParsed):
+	oe_import(e.data)
 }
 
-addhandler oe_import
+addhandler oe_import_eh
 
 die() {
 	bbfatal "$*"





More information about the Openembedded-commits mailing list