This commit is contained in:
Romain Bignon 2010-11-11 01:56:03 +01:00
commit d224effe35
2 changed files with 11 additions and 6 deletions

View file

@ -129,7 +129,7 @@ class HaveSex(ReplApplication):
backends_optims[backend.name] = optim backends_optims[backend.name] = optim
for backend_name, optim in backends_optims.iteritems(): for backend_name, optim in backends_optims.iteritems():
if len(optim.CONFIG) == 0: if len(optim.CONFIG) == 0:
print 'Nothing to do for %s.%s' % (backend_name, optim_name) print '%s.%s does not require configuration.' % (backend_name, optim_name)
continue continue
was_running = optim.is_running() was_running = optim.is_running()
@ -228,7 +228,7 @@ class HaveSex(ReplApplication):
* edit configure an optimization service for a backend * edit configure an optimization service for a backend
* stop stop optimization services on a backend * stop stop optimization services on a backend
""" """
cmd, backend_name, optims = self.parseargs(line, 3, 1) cmd, backend_name, optims_names = self.parseargs(line, 3, 1)
if backend_name == '*': if backend_name == '*':
backend_name = None backend_name = None
@ -237,16 +237,21 @@ class HaveSex(ReplApplication):
return 1 return 1
if cmd == 'start': if cmd == 'start':
return self.optims('start', backend_name, optims) return self.optims('start', backend_name, optims_names)
if cmd == 'stop': if cmd == 'stop':
return self.optims('stop', backend_name, optims) return self.optims('stop', backend_name, optims_names)
if cmd == 'edit': if cmd == 'edit':
self.edit_optims(backend_name, optims, stop=True) self.edit_optims(backend_name, optims_names, stop=True)
return return
if cmd == 'list': if cmd == 'list':
if optims_names is not None:
optims_names = optims_names.split()
optims = {} optims = {}
backends = set() backends = set()
for backend, (name, optim) in self.do('iter_optimizations', backends=backend_name): for backend, (name, optim) in self.do('iter_optimizations', backends=backend_name):
if optims_names is not None and not name in optims_names:
continue
if optim.is_running(): if optim.is_running():
status = 'RUNNING' status = 'RUNNING'
else: else:

View file

@ -335,7 +335,7 @@ class ReplApplication(Cmd, BaseApplication):
def parseargs(self, line, nb, req_n=None): def parseargs(self, line, nb, req_n=None):
args = line.strip().split(' ', nb - 1) args = line.strip().split(' ', nb - 1)
if req_n is not None and len(args) < req_n: if req_n is not None and (len(args) < req_n or req_n < 2 and line == ''):
raise NotEnoughArguments('Command needs %d arguments' % req_n) raise NotEnoughArguments('Command needs %d arguments' % req_n)
if len(args) < nb: if len(args) < nb: