On Wed, 2011-04-27 at 15:53 +0800, Liping Ke wrote: > From: Liping Ke <liping...@intel.com> > > add -t options for configuring bitbake server (xmlrpc, none) > > Signed-off-by: Liping Ke <liping...@intel.com> > --- > bitbake/bin/bitbake | 18 +++++++++++++----- > 1 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake > index 6d05289..9e8d9a1 100755 > --- a/bitbake/bin/bitbake > +++ b/bitbake/bin/bitbake > @@ -39,8 +39,6 @@ import bb.msg > from bb import cooker > from bb import ui > from bb import server > -from bb.server import none > -#from bb.server import xmlrpc > > __version__ = "1.11.0" > logger = logging.getLogger("BitBake") > @@ -71,7 +69,7 @@ def get_ui(config): > return getattr(module, interface).main > except AttributeError: > sys.exit("FATAL: Invalid user interface '%s' specified.\n" > - "Valid interfaces: depexp, goggle, ncurses, knotty > [default]." % interface) > + "Valid interfaces: depexp, goggle, ncurses, hob, knotty > [default]." % interface) > > > # Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring > others""" > @@ -161,6 +159,9 @@ Default BBFILES are the .bb files in the current > directory.""") > parser.add_option("-u", "--ui", help = "userinterface to use", > action = "store", dest = "ui") > > + parser.add_option("-t", "--servertype", help = "choose which server to > user, none or xmlrpc", > + action = "store", dest = "servertype") > + > parser.add_option("", "--revisions-changed", help = "Set the exit code > depending on whether upstream floating revisions have changed or not", > action = "store_true", dest = "revisions_changed", default = > False) > > @@ -175,8 +176,15 @@ Default BBFILES are the .bb files in the current > directory.""") > loghandler = event.LogHandler() > logger.addHandler(loghandler) > > - #server = bb.server.xmlrpc > - server = bb.server.none > + # Server type could be xmlrpc or none currently, if nothing is specified, > + # default server would be none > + if configuration.servertype: > + server_type = configuration.servertype > + else: > + server_type = 'none' > + > + module = __import__("bb.server", fromlist = [server_type]) > + server = getattr(module, server_type)
What if the module import fails? You'll note that the similar code to allow selection of the UI with a switch is wrapped in a try/except. Can we do the same here? Thanks, Joshua -- Joshua Lock Yocto Build System Monkey Intel Open Source Technology Centre _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core