1 #!/usr/bin/env python 2 3 from MoinMessage import Message, GPG, sendMessage 4 from email.mime.application import MIMEApplication 5 from os.path import split 6 import sys 7 8 def readfile(filename): 9 f = open(filename, "rb") 10 try: 11 return MIMEApplication(f.read()) 12 finally: 13 f.close() 14 15 if __name__ == "__main__": 16 try: 17 recipient = sys.argv[1] 18 signer = sys.argv[2] 19 url = sys.argv[3] 20 args = sys.argv[4:] 21 except IndexError: 22 args = None 23 24 if not args: 25 print >>sys.stderr, """\ 26 Need a recipient key identifier, signing key identifier, the destination URL, 27 and some filenames for transfer as arguments to this program. 28 """ 29 sys.exit(1) 30 31 # Bundle files into a message. 32 33 message = Message() 34 35 for arg in args: 36 part = readfile(arg) 37 part["Content-Disposition"] = split(arg)[-1] 38 part["Update-Action"] = "store" 39 message.add_update(part) 40 41 # Get the e-mail message itself. 42 43 message = message.get_payload() 44 45 # Encrypt, sign and send the message. 46 47 gpg = GPG() 48 message = gpg.encryptMessage(message, recipient) 49 message = gpg.signMessage(message, signer) 50 resp = sendMessage(message, url) 51 52 print resp 53 54 # vim: tabstop=4 expandtab shiftwidth=4