paul@5 | 1 | #!/usr/bin/env python |
paul@5 | 2 | |
paul@5 | 3 | from email.mime.multipart import MIMEMultipart |
paul@5 | 4 | from email.mime.application import MIMEApplication |
paul@5 | 5 | from email.mime.base import MIMEBase |
paul@5 | 6 | from email import message_from_string |
paul@5 | 7 | import sys |
paul@5 | 8 | |
paul@5 | 9 | if __name__ == "__main__": |
paul@5 | 10 | message = sys.argv[1] |
paul@5 | 11 | text = open(message).read() |
paul@5 | 12 | signature = sys.stdin.read() |
paul@5 | 13 | protocol = "application/pgp-signature" |
paul@5 | 14 | subtype = "signed" |
paul@5 | 15 | |
paul@5 | 16 | # Make the container for the message. |
paul@5 | 17 | |
paul@5 | 18 | message = MIMEMultipart(subtype, protocol=protocol) |
paul@5 | 19 | |
paul@5 | 20 | submessage = message_from_string(text) |
paul@5 | 21 | message.attach(submessage) |
paul@5 | 22 | |
paul@5 | 23 | signature_part = MIMEBase("application", "pgp-signature") |
paul@5 | 24 | signature_part.set_payload(signature) |
paul@5 | 25 | message.attach(signature_part) |
paul@5 | 26 | |
paul@5 | 27 | # Show the resulting message text. |
paul@5 | 28 | |
paul@5 | 29 | text = message.as_string() |
paul@5 | 30 | |
paul@5 | 31 | print text |
paul@5 | 32 | |
paul@5 | 33 | # vim: tabstop=4 expandtab shiftwidth=4 |