summaryrefslogtreecommitdiff
path: root/tools/write-mime-multipart.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/write-mime-multipart.py')
-rwxr-xr-xtools/write-mime-multipart.py51
1 files changed, 0 insertions, 51 deletions
diff --git a/tools/write-mime-multipart.py b/tools/write-mime-multipart.py
deleted file mode 100755
index 0a67d4c5..00000000
--- a/tools/write-mime-multipart.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#! /usr/bin/env python
-
-import sys, os
-import email
-import mimetypes
-import re
-
-mimetypes.types_map['.sh'] = 'text/x-shellscript'
-cloud_config_mark_strings = { '#!': 'text/x-shellscript', '#include': 'text/x-include-url',
- '#cloud-config': 'text/cloud-config', '#upstart-job': 'text/upstart-job',
- '#cloud-boothook': 'text/cloud-boothook'
- }
-def write_mime_multipart():
- multipart_msg = email.mime.Multipart.MIMEMultipart()
- for arg in sys.argv[1:]:
- if ',' in arg:
- (msg_file, msg_type) = arg.split(',')
- else:
- msg_file = arg
- msg_type = None
-
- msg_file = os.path.expanduser(msg_file)
- if not os.path.isfile(msg_file):
- print >> sys.stderr, "Can't find file %s" % arg
- exit(1)
-
- if not msg_type: msg_type = get_type_from_file(arg)
- msg = email.mime.base.MIMEBase(*msg_type.split('/'))
- msg.set_payload(open(msg_file, 'r').read())
- multipart_msg.attach(msg)
-
- print multipart_msg.as_string()
-
-def get_type_from_file(filename):
- first_line = open(filename).readline()
- m = re.match('Content-Type: (\w+/\w+)', first_line)
- if m:
- return m.groups[1]
- else:
- for mark_string, mime_type in cloud_config_mark_strings.items():
- if first_line.startswith(mark_string):
- return mime_type
- return mimetypes.guess_type(filename)[0] or 'text/plain'
-
-if __name__ == '__main__':
- if len(sys.argv) == 1 or '-h' in sys.argv or '--help' in sys.argv:
- print "Usage: %s file1,application/cloud-config file2.sh ..." % os.path.basename(sys.argv[0])
- print "MIME Multipart message will be written to STDOUT"
- exit(0)
- write_mime_multipart()
-