diff options
author | Kyle Meyer <kyle@kyleam.com> | 2021-07-18 00:34:06 -0400 |
---|---|---|
committer | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2021-08-03 11:47:42 -0400 |
commit | 709f7d15b733e3ca579b8371e0ebe021dfcef139 (patch) | |
tree | dbc1a3d5d238cdfc858201ac1bb15b4cd564b6ab | |
parent | 50dd627b9658081b8f9ddf2466ebb4b174684a55 (diff) | |
download | b4-709f7d15b733e3ca579b8371e0ebe021dfcef139.tar.gz |
Parse just headers when extracting message ID from stdin mbox
When the mbox and am subcommands grab a message ID from the mbox
on stdin, they call message_from_bytes(), which in turn calls
BytesParser().parsebytes(s).
parsebytes() has a headersonly parameter that can be used to tell it
to stop parsing after reading the headers. The headers are all that's
needed here, so use BytesParser directly and set headersonly.
Signed-off-by: Kyle Meyer <kyle@kyleam.com>
Link: https://lore.kernel.org/tools/20210717164836-mutt-send-email-mst@kernel.org/
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rw-r--r-- | b4/__init__.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/b4/__init__.py b/b4/__init__.py index bc05dcd..745485e 100644 --- a/b4/__init__.py +++ b/b4/__init__.py @@ -2075,7 +2075,9 @@ def get_requests_session(): def get_msgid_from_stdin(): if not sys.stdin.isatty(): - message = email.message_from_bytes(sys.stdin.buffer.read()) + from email.parser import BytesParser + message = BytesParser().parsebytes( + sys.stdin.buffer.read(), headersonly=True) return message.get('Message-ID', None) return None |