1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/scripts/sendfiles.py Tue Jan 07 19:28:12 2014 +0100
1.3 @@ -0,0 +1,54 @@
1.4 +#!/usr/bin/env python
1.5 +
1.6 +from MoinMessage import Message, GPG, sendMessage
1.7 +from email.mime.application import MIMEApplication
1.8 +from os.path import split
1.9 +import sys
1.10 +
1.11 +def readfile(filename):
1.12 + f = open(filename, "rb")
1.13 + try:
1.14 + return MIMEApplication(f.read())
1.15 + finally:
1.16 + f.close()
1.17 +
1.18 +if __name__ == "__main__":
1.19 + try:
1.20 + recipient = sys.argv[1]
1.21 + signer = sys.argv[2]
1.22 + url = sys.argv[3]
1.23 + args = sys.argv[4:]
1.24 + except IndexError:
1.25 + args = None
1.26 +
1.27 + if not args:
1.28 + print >>sys.stderr, """\
1.29 +Need a recipient key identifier, signing key identifier, the destination URL,
1.30 +and some filenames for transfer as arguments to this program.
1.31 +"""
1.32 + sys.exit(1)
1.33 +
1.34 + # Bundle files into a message.
1.35 +
1.36 + message = Message()
1.37 +
1.38 + for arg in args:
1.39 + part = readfile(arg)
1.40 + part["Content-Disposition"] = split(arg)[-1]
1.41 + part["Update-Action"] = "store"
1.42 + message.add_update(part)
1.43 +
1.44 + # Get the e-mail message itself.
1.45 +
1.46 + message = message.get_payload()
1.47 +
1.48 + # Encrypt, sign and send the message.
1.49 +
1.50 + gpg = GPG()
1.51 + message = gpg.encryptMessage(message, recipient)
1.52 + message = gpg.signMessage(message, signer)
1.53 + resp = sendMessage(message, url)
1.54 +
1.55 + print resp
1.56 +
1.57 +# vim: tabstop=4 expandtab shiftwidth=4