]> git.phdru.name Git - mimedecode.git/blobdiff - mimedecode.py
Raise error after saving the part
[mimedecode.git] / mimedecode.py
index 9af561e90ddc4b87616c2d84f5041eae06be8ef9..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
 
@@ -338,7 +341,7 @@ def decode_part(msg):
             output("\nMessage body of type %s skipped.\n" % ctype)
             break
         elif content_type in g.error_mask:
-            raise ValueError, "content type %s prohibited" % ctype
+            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"