return binary return code with message

This commit is contained in:
yo 2020-12-24 16:54:32 +01:00
parent f8fc953530
commit 2d4dee498d

View File

@ -99,7 +99,7 @@ class QueueControl(object):
:param str operation: Known operation from :attr:`pymailq.CONFIG`.
:param list messages: List of :class:`~store.Mail` objects targetted
for operation.
:return: Command's *stderr* output lines
:return: Command's *stderr* output lines, return code of binary
:rtype: :func:`list`
"""
# validate that object's attribute "qid" exist. Raise AttributeError.
@ -135,7 +135,7 @@ class QueueControl(object):
except BrokenPipeError:
raise RuntimeError("Unexpected error: child process has crashed")
return [line.strip() for line in stderr.decode().split('\n')]
return [line.strip() for line in stderr.decode().split('\n')], child.returncode
# smtpctl do not use stdin, have to call the binary for each message :-(
else:
@ -153,11 +153,11 @@ class QueueControl(object):
stdout, stderr = child.communicate()
if not len(stdout):
return [line.strip() for line in stderr.decode().split('\n')]
return [line.strip() for line in stderr.decode().split('\n')], child.returncode
result.append(stdout.decode())
return result
return result, child.returncode, child.returncode
def delete_messages(self, messages):