]> git.phdru.name Git - mimedecode.git/blobdiff - mimedecode.py
Raise error after saving the part
[mimedecode.git] / mimedecode.py
index b461284e1e60270faa2f613ea3b4a707f991e321..1006fb47768d8c9efc6c225eab9e8ebead50c2c9 100755 (executable)
@@ -312,7 +312,10 @@ def decode_part(msg):
 
     left_binary = False
     for content_type in masks:
-        if content_type in g.binary_mask:
+        if content_type in g.totext_mask or \
+           content_type in g.decoded_binary_mask:
+            break
+        elif content_type in g.binary_mask:
             left_binary = True
             break
 
@@ -335,10 +338,10 @@ def decode_part(msg):
             break
         elif content_type in g.ignore_mask:
             output_headers(msg)
-            output("\nMessage body of type `%s' skipped.\n" % content_type)
+            output("\nMessage body of type %s skipped.\n" % ctype)
             break
         elif content_type in g.error_mask:
-            raise ValueError, "content type `%s' prohibited" % content_type
+            break
     else:
         # Neither content type nor masks were listed - decode by default
         outstring = totext(msg, outstring)
@@ -351,6 +354,10 @@ def decode_part(msg):
         elif content_type in g.save_message_mask:
             _save_message(msg, outstring, save_headers=True, save_body=True)
 
+    for content_type in masks:
+        if content_type in g.error_mask:
+            raise ValueError, "content type %s prohibited" % ctype
+
 def decode_multipart(msg):
     "Decode multipart"