This email list is read-only.  Emails sent to this list will be discarded
----------------------------------
 bitbake-dev/bin/bitbake |   39 ++++++++++++++-------------------------
 1 files changed, 14 insertions(+), 25 deletions(-)

New commits:
commit 3e045793c740cbac302c2077cc839f1a64c03bc2
Author: Rob Bradford <[EMAIL PROTECTED]>
Date:   Tue Oct 21 12:39:23 2008 +0100

    bitbake-dev: Dynamically load the UI module.
    
    Dynamically load the UI from a module based on the UI name given. We still
    however maintain a fixed set in here with the set of suggested UIs.


Diff in this email is a maximum of 400 lines.
diff --git a/bitbake-dev/bin/bitbake b/bitbake-dev/bin/bitbake
index 1f650e2..d85135a 100755
--- a/bitbake-dev/bin/bitbake
+++ b/bitbake-dev/bin/bitbake
@@ -123,21 +123,6 @@ Default BBFILES are the .bb files in the current 
directory.""" )
     configuration.pkgs_to_build = []
     configuration.pkgs_to_build.extend(args[1:])
 
-    # Work out which UI(s) to use
-    curseUI = False
-    depexplorerUI = False
-    if configuration.ui:
-        if configuration.ui == "ncurses":
-            curseUI = True
-        elif configuration.ui == "knotty" or configuration.ui == "tty" or 
configuration.ui == "file":
-            curseUI = False
-        elif configuration.ui == "depexp":
-            depexplorerUI = True
-        else:
-            print "FATAL: Invalid user interface '%s' specified.\nValid 
interfaces are 'ncurses', 'depexp' or the default, 'knotty'." % configuration.ui
-            sys.exit(1)
-
-
     cooker = bb.cooker.BBCooker(configuration)
 
     # Clear away any spurious environment variables. But don't wipe the
@@ -166,18 +151,22 @@ Default BBFILES are the .bb files in the current 
directory.""" )
     eventHandler = uievent.BBUIEventQueue(server)
 
     # Launch the UI
+    if configuration.ui:
+        ui = configuration.ui
+    else:
+        ui = "knotty"
+
     try:
-        if curseUI:
-            from bb.ui import ncurses
-            ncurses.init(server, eventHandler)
-        elif depexplorerUI:
-            from bb.ui import depexplorer
-            depexplorer.init(server, eventHandler)
-        else:
-            from bb.ui import knotty
-            return_value = knotty.init(server, eventHandler)
+            # 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 ui + ".init(server, eventHandler)"
+    except ImportError:
+        print "FATAL: Invalid user interface '%s' specified. " % ui
+        print "Valid interfaces are 'ncurses', 'depexp' or the default, 
'knotty'."
     except Exception, e:
-       print "FATAL: Unable to start to '%s' UI: %s" % (configuration.ui, 
e.message)
+        print "FATAL: Unable to start to '%s' UI: %s." % (configuration.ui, 
e.message)
     finally:
         # Don't wait for server indefinitely
         import socket
_______________________________________________
Commits mailing list
[email protected]
https://lists.moblin.org/mailman/listinfo/commits

Reply via email to