| Submitter | Liping Ke |
|---|---|
| Date | April 27, 2011, 7:53 a.m. |
| Message ID | <62bdbb0395a252561a1b9779633b29403b049304.1303890720.git.liping.ke@intel.com> |
| Download | mbox | patch |
| Permalink | /patch/2999/ |
| State | New, archived |
| Headers | show |
Comments
On Wed, 2011-04-27 at 15:53 +0800, Liping Ke wrote: > From: Liping Ke <liping.ke@intel.com> > > add -t options for configuring bitbake server (xmlrpc, none) > > Signed-off-by: Liping Ke <liping.ke@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
Patch
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) # Save a logfile for cooker into the current working directory. When the # server is daemonized this logfile will be truncated.