diff options
-rw-r--r-- | Lib/email/FeedParser.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Lib/email/FeedParser.py b/Lib/email/FeedParser.py index de2754e..1d6e3dd 100644 --- a/Lib/email/FeedParser.py +++ b/Lib/email/FeedParser.py @@ -309,8 +309,6 @@ class FeedParser: if eolmo: preamble[-1] = lastline[:-len(eolmo.group(0))] self._cur.preamble = EMPTYSTRING.join(preamble) - #import pdb ; pdb.set_trace() - # See SF bug #1030941 capturing_preamble = False self._input.unreadline(line) continue @@ -367,10 +365,16 @@ class FeedParser: # We've seen either the EOF or the end boundary. If we're still # capturing the preamble, we never saw the start boundary. Note # that as a defect and store the captured text as the payload. - # Otherwise everything from here to the EOF is epilogue. + # Everything from here to the EOF is epilogue. if capturing_preamble: self._cur.defects.append(Errors.StartBoundaryNotFoundDefect()) self._cur.set_payload(EMPTYSTRING.join(preamble)) + epilogue = [] + for line in self._input: + if line is NeedMoreData: + yield NeedMoreData + continue + self._cur.epilogue = EMPTYSTRING.join(epilogue) return # If the end boundary ended in a newline, we'll need to make sure # the epilogue isn't None |