From 12dc230c00c12b1c608ee0a09352ded895693bce Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Tue, 11 Mar 2003 04:41:35 +0000 Subject: [PATCH] body_line_iterator(): Accept optional decode argument, pass through to Message.get_payload(). --- Lib/email/_compat21.py | 9 ++++++--- Lib/email/_compat22.py | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Lib/email/_compat21.py b/Lib/email/_compat21.py index d220723793..7cead23b93 100644 --- a/Lib/email/_compat21.py +++ b/Lib/email/_compat21.py @@ -37,11 +37,14 @@ def _isstring(obj): # These two functions are imported into the Iterators.py interface module. # The Python 2.2 version uses generators for efficiency. -def body_line_iterator(msg): - """Iterate over the parts, returning string payloads line-by-line.""" +def body_line_iterator(msg, decode=False): + """Iterate over the parts, returning string payloads line-by-line. + + Optional decode (default False) is passed through to .get_payload(). + """ lines = [] for subpart in msg.walk(): - payload = subpart.get_payload() + payload = subpart.get_payload(decode=decode) if _isstring(payload): for line in StringIO(payload).readlines(): lines.append(line) diff --git a/Lib/email/_compat22.py b/Lib/email/_compat22.py index a05451f25d..ec2d2f8a0a 100644 --- a/Lib/email/_compat22.py +++ b/Lib/email/_compat22.py @@ -38,10 +38,13 @@ def _isstring(obj): # These two functions are imported into the Iterators.py interface module. # The Python 2.2 version uses generators for efficiency. -def body_line_iterator(msg): - """Iterate over the parts, returning string payloads line-by-line.""" +def body_line_iterator(msg, decode=False): + """Iterate over the parts, returning string payloads line-by-line. + + Optional decode (default False) is passed through to .get_payload(). + """ for subpart in msg.walk(): - payload = subpart.get_payload() + payload = subpart.get_payload(decode=decode) if _isstring(payload): for line in StringIO(payload): yield line -- 2.50.1