# HG changeset patch # User Paul Boddie # Date 1454967835 -3600 # Node ID 95dcb22905cc1aaf40f5a6834fc06f911f16dee1 # Parent 96f9567b0a993c14f3ad79a0d8bc4d09df9b999c Attempt to handle multiple messages in the input. diff -r 96f9567b0a99 -r 95dcb22905cc tools/showmail.py --- a/tools/showmail.py Mon Feb 08 22:03:57 2016 +0100 +++ b/tools/showmail.py Mon Feb 08 22:43:55 2016 +0100 @@ -1,8 +1,18 @@ #!/usr/bin/env python -from email import message_from_file +from email import message_from_string import sys +def until_from(f): + l = [] + s = f.readline() + while s: + l.append(s) + s = f.readline() + if s.startswith("From "): + break + return "".join(l) + def decode(part): for key, value in part.items(): if key != "Content-Transfer-Encoding": @@ -16,7 +26,7 @@ for part in part.get_payload(): decode(part) -message = message_from_file(sys.stdin) +message = message_from_string(until_from(sys.stdin)) decode(message) # vim: tabstop=4 expandtab shiftwidth=4