Ensure console commands are executed in order

This commit is contained in:
John Garland 2012-09-29 17:45:47 +01:00 committed by Calum Lind
parent f077030dfc
commit 88dd64e795
1 changed files with 6 additions and 6 deletions

View File

@ -113,16 +113,16 @@ class Commander:
def on_connect(result):
def on_started(result):
def on_started(result):
deferreds = []
def do_command(result, cmd):
return self.do_command(cmd)
d = defer.succeed(None)
# If we have args, lets process them and quit
# allow multiple commands split by ";"
for arg in args.split(";"):
deferreds.append(defer.maybeDeferred(self.do_command, arg.strip()))
d.addCallback(do_command, arg.strip())
def on_complete(result):
self.do_command("quit")
dl = defer.DeferredList(deferreds).addCallback(on_complete)
d.addCallback(do_command, "quit")
# We need to wait for the rpcs in start() to finish before processing
# any of the commands.