From: Chris Larson Date: Fri, 9 Apr 2010 20:25:58 +0000 (-0700) Subject: Use __import__ for the ui rather than exec X-Git-Tag: 2011-1~5548 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=21a9692c7daf1498f862f5dbe1b85201df39baa7;p=openembedded-core.git Use __import__ for the ui rather than exec (Bitbake rev: 7d00bab300961431f9960cf6759966f608580bc0) Signed-off-by: Chris Larson Signed-off-by: Richard Purdie --- diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index cef59c9117..c2088d9320 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake @@ -181,12 +181,12 @@ Default BBFILES are the .bb files in the current directory.""" ) ui = "knotty" try: - # Dynamically load the UI based on the ui name. Although we - # suggest a fixed set this allows you to have flexibility in which - # ones are available. - exec "from bb.ui import " + ui - exec "return_value = " + ui + ".init(serverConnection.connection, serverConnection.events)" - except ImportError: + # Dynamically load the UI based on the ui name. Although we + # suggest a fixed set this allows you to have flexibility in which + # ones are available. + uimodule = __import__("bb.ui", fromlist=[ui]) + return_value = getattr(uimodule, ui).init(serverConnection.connection, serverConnection.events) + except AttributeError: print "FATAL: Invalid user interface '%s' specified. " % ui print "Valid interfaces are 'ncurses', 'depexp' or the default, 'knotty'." except Exception, e: