paul@6 | 1 | #!/usr/bin/env python |
paul@6 | 2 | |
paul@6 | 3 | from MoinMessage import * |
paul@6 | 4 | from email.mime.text import MIMEText |
paul@6 | 5 | import sys |
paul@6 | 6 | |
paul@6 | 7 | if __name__ == "__main__": |
paul@16 | 8 | try: |
paul@16 | 9 | signer = sys.argv[1] |
paul@16 | 10 | recipient = sys.argv[2] |
paul@16 | 11 | url = sys.argv[3] + "?action=PostMessage" |
paul@16 | 12 | type = sys.argv[4] |
paul@16 | 13 | action = sys.argv[5] |
paul@16 | 14 | args = sys.argv[6:] |
paul@16 | 15 | except IndexError: |
paul@16 | 16 | args = None |
paul@11 | 17 | |
paul@11 | 18 | if not args: |
paul@16 | 19 | print >>sys.stderr, "Need a signer, recipient, URL, update type, action and some updates as arguments to this program." |
paul@11 | 20 | sys.exit(1) |
paul@6 | 21 | |
paul@6 | 22 | message = Message() |
paul@16 | 23 | parts = [] |
paul@11 | 24 | |
paul@11 | 25 | for arg in args: |
paul@16 | 26 | part = MIMEText(arg, "moin", sys.stdin.encoding) |
paul@16 | 27 | if type == "collection": |
paul@16 | 28 | part["Update-Action"] = action |
paul@16 | 29 | message.add_update(part) |
paul@16 | 30 | else: |
paul@16 | 31 | parts.append(part) |
paul@16 | 32 | |
paul@16 | 33 | if type != "collection": |
paul@16 | 34 | multipart = message.get_update(parts) |
paul@16 | 35 | multipart["Update-Action"] = action |
paul@16 | 36 | message.add_update(multipart) |
paul@11 | 37 | |
paul@6 | 38 | email_message = message.get_payload() |
paul@8 | 39 | gpg = GPG() |
paul@6 | 40 | |
paul@6 | 41 | try: |
paul@8 | 42 | signed_message = gpg.signMessage(email_message, signer) |
paul@8 | 43 | encrypted_message = gpg.encryptMessage(signed_message, recipient) |
paul@12 | 44 | print sendMessage(encrypted_message, url) |
paul@6 | 45 | except MoinMessageError, exc: |
paul@6 | 46 | print exc |
paul@6 | 47 | |
paul@6 | 48 | # vim: tabstop=4 expandtab shiftwidth=4 |