Container.exec_run returns None as exit_code if stream or socket

Signed-off-by: Frank Sachsenheim <funkyfuture@riseup.net>
This commit is contained in:
Frank Sachsenheim 2018-01-28 01:26:58 +01:00
parent 9c0332eb2e
commit ad208dfd29
1 changed files with 7 additions and 5 deletions

View File

@ -152,7 +152,8 @@ class Container(Model):
Returns: Returns:
(tuple): A tuple of (exit_code, output) (tuple): A tuple of (exit_code, output)
exit_code: (int): exit_code: (int):
Exit code for the executed command Exit code for the executed command or ``None`` if
either ``stream```or ``socket`` is ``True``.
output: (generator or str): output: (generator or str):
If ``stream=True``, a generator yielding response chunks. If ``stream=True``, a generator yielding response chunks.
If ``socket=True``, a socket object for the connection. If ``socket=True``, a socket object for the connection.
@ -170,10 +171,11 @@ class Container(Model):
exec_output = self.client.api.exec_start( exec_output = self.client.api.exec_start(
resp['Id'], detach=detach, tty=tty, stream=stream, socket=socket resp['Id'], detach=detach, tty=tty, stream=stream, socket=socket
) )
exit_code = 0 if socket or stream:
if stream is False: return None, exec_output
exit_code = self.client.api.exec_inspect(resp['Id'])['ExitCode'] else:
return (exit_code, exec_output) return (self.client.api.exec_inspect(resp['Id'])['ExitCode'],
exec_output)
def export(self): def export(self):
""" """