summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2011-01-11 09:42:19 -0500
committerScott Moser <smoser@ubuntu.com>2011-01-11 09:42:19 -0500
commit8644b570cbe8597eb6057cb9fe0c06a0461c642c (patch)
treedb81ef0bdd8c65677b58ef5b239f1a596a5d87ef /tools
parent0de2a6740a459d1f74e4f05e688621f2597c7148 (diff)
downloadvyos-cloud-init-8644b570cbe8597eb6057cb9fe0c06a0461c642c.tar.gz
vyos-cloud-init-8644b570cbe8597eb6057cb9fe0c06a0461c642c.zip
move write-mime-multipart into cloud-utils package
Diffstat (limited to 'tools')
-rwxr-xr-xtools/write-mime-multipart108
1 files changed, 0 insertions, 108 deletions
diff --git a/tools/write-mime-multipart b/tools/write-mime-multipart
deleted file mode 100755
index 46032728..00000000
--- a/tools/write-mime-multipart
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/usr/bin/python
-# largely taken from python examples
-# http://docs.python.org/library/email-examples.html
-
-import os
-import sys
-import smtplib
-# For guessing MIME type based on file name extension
-import mimetypes
-
-from email import encoders
-from email.message import Message
-from email.mime.base import MIMEBase
-from email.mime.multipart import MIMEMultipart
-from email.mime.text import MIMEText
-from optparse import OptionParser
-import gzip
-
-COMMASPACE = ', '
-
-starts_with_mappings={
- '#include' : 'text/x-include-url',
- '#!' : 'text/x-shellscript',
- '#cloud-config' : 'text/cloud-config',
- '#upstart-job' : 'text/upstart-job',
- '#part-handler' : 'text/part-handler',
- '#cloud-boothook' : 'text/cloud-boothook'
-}
-
-def get_type(fname,deftype):
- f = file(fname,"rb")
- line = f.readline()
- f.close()
- rtype = deftype
- for str,mtype in starts_with_mappings.items():
- if line.startswith(str):
- rtype = mtype
- break
- return(rtype)
-
-def main():
- outer = MIMEMultipart()
- #outer['Subject'] = 'Contents of directory %s' % os.path.abspath(directory)
- #outer['To'] = COMMASPACE.join(opts.recipients)
- #outer['From'] = opts.sender
- #outer.preamble = 'You will not see this in a MIME-aware mail reader.\n'
-
- parser = OptionParser()
-
- parser.add_option("-o", "--output", dest="output",
- help="write output to FILE [default %default]", metavar="FILE",
- default="-")
- parser.add_option("-z", "--gzip", dest="compress", action="store_true",
- help="compress output", default=False)
- parser.add_option("-d", "--default", dest="deftype",
- help="default mime type [default %default]", default="text/plain")
- parser.add_option("--delim", dest="delim",
- help="delimiter [default %default]", default=":")
-
- (options, args) = parser.parse_args()
-
- if (len(args)) < 1:
- parser.error("Must give file list see '--help'")
-
- for arg in args:
- t = arg.split(options.delim, 1)
- path=t[0]
- if len(t) > 1:
- mtype = t[1]
- else:
- mtype = get_type(path,options.deftype)
-
- maintype, subtype = mtype.split('/', 1)
- if maintype == 'text':
- fp = open(path)
- # Note: we should handle calculating the charset
- msg = MIMEText(fp.read(), _subtype=subtype)
- fp.close()
- else:
- fp = open(path, 'rb')
- msg = MIMEBase(maintype, subtype)
- msg.set_payload(fp.read())
- fp.close()
- # Encode the payload using Base64
- encoders.encode_base64(msg)
-
- # Set the filename parameter
- msg.add_header('Content-Disposition', 'attachment',
- filename=os.path.basename(path))
-
- outer.attach(msg)
-
- if options.output is "-":
- ofile = sys.stdout
- else:
- ofile = file(options.output,"wb")
-
- if options.compress:
- gfile = gzip.GzipFile(fileobj=ofile, filename = options.output )
- gfile.write(outer.as_string())
- gfile.close()
- else:
- ofile.write(outer.as_string())
-
- ofile.close()
-
-if __name__ == '__main__':
- main()