]> git.phdru.name Git - mimedecode.git/blobdiff - mimedecode.py
Fix a minor bug
[mimedecode.git] / mimedecode.py
index c85bb8dbe89fe048fd320f1f94b2341e000ce514..8971efa913688653b57d5f873895ed66156cd952 100755 (executable)
@@ -291,9 +291,9 @@ def decode_part(msg):
 
     encoding = msg["Content-Transfer-Encoding"]
     if left_binary or encoding in (None, '', '7bit', '8bit', 'binary'):
-        outstring = str(msg.get_payload())
+        outstring = msg.get_payload()
     else: # Decode from transfer ecoding to text or binary form
-        outstring = str(msg.get_payload(decode=1))
+        outstring = msg.get_payload(decode=1)
         set_header(msg, "Content-Transfer-Encoding", "8bit")
         msg["X-MIME-Autoconverted"] = "from %s to 8bit by %s id %s" % (encoding, gopts.host_name, me)
 
@@ -325,12 +325,19 @@ def decode_multipart(msg):
 
     if msg.preamble: # Preserve the first part, it is probably not a RFC822-message
         output(msg.preamble) # Usually it is just a few lines of text (MIME warning)
+    if msg.preamble is not None:
+        output("\n")
 
+    first_subpart = True
     boundary = msg.get_boundary()
 
     for subpart in msg.get_payload():
         if boundary:
-            output("\n--%s\n" % boundary)
+            if first_subpart:
+                first_subpart = False
+            else:
+                output("\n")
+            output("--%s\n" % boundary)
 
         # Recursively decode all parts of the subpart
         decode_message(subpart)