From 6318d49b407166da8b310ca6c72d1cfb669b71c7 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Fri, 15 May 2020 14:50:22 +0000 Subject: [PATCH] Added an utility function to get email payload as unicode text. - Legacy-Id: 17800 --- ietf/utils/mail.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py index 054e4ae4a..42149bff5 100644 --- a/ietf/utils/mail.py +++ b/ietf/utils/mail.py @@ -616,6 +616,18 @@ def get_email_addresses_from_text(text): return [ formataddr(e) for e in getaddresses([text, ]) if valid(e) ] + def get_payload(msg, decode=False): return msg.get_payload(decode=decode) + +def get_payload_text(msg, decode=True): + charset = msg.get_charset() + payload = msg.get_payload(decode=decode) + try: + payload = payload.decode(str(charset)) + except UnicodeDecodeError as e: + sys.stderr.write("Exception: %s\n" % e) + sys.stderr.write("Payload: %s\n" % payload) + raise + return payload