]> git.phdru.name Git - mimedecode.git/blobdiff - mimedecode.py
Import email.header for Python 3 compatibility
[mimedecode.git] / mimedecode.py
index 5bd045bc59b3834936e60f6282ac978f506f3420..ce4b288627ca1b565b0134614f9b97cfcf6349de 100755 (executable)
@@ -34,7 +34,7 @@ def output_headers(msg):
 
 
 def recode_if_needed(s, charset):
-    if charset and charset.lower() <> g.default_encoding:
+    if charset and charset.lower() != g.default_encoding:
         s = unicode(s, charset, "replace").encode(g.default_encoding, "replace")
     return s
 
@@ -43,9 +43,9 @@ def _decode_header(s):
     """Return a decoded string according to RFC 2047.
     NOTE: This is almost the same as email.Utils.decode.
     """
-    import email.Header
+    import email.header
 
-    L = email.Header.decode_header(s)
+    L = email.header.decode_header(s)
     if not isinstance(L, list):
         # s wasn't decoded
         return s
@@ -66,24 +66,24 @@ def _decode_header(s):
 def decode_header(msg, header):
     "Decode mail header (if exists) and put it back, if it was encoded"
 
-    if msg.has_key(header):
+    if header in msg:
         value = msg[header]
         new_value = _decode_header(value)
-        if new_value <> value: # do not bother to touch msg if not changed
+        if new_value != value: # do not bother to touch msg if not changed
             set_header(msg, header, new_value)
 
 
 def decode_header_param(msg, header, param):
     "Decode mail header's parameter (if exists) and put it back, if it was encoded"
 
-    if msg.has_key(header):
+    if header in msg:
         value = msg.get_param(param, header=header)
         if value:
             if isinstance(value, tuple):
                 new_value = recode_if_needed(value[2], value[0])
             else:
                 new_value = _decode_header(value)
-            if new_value <> value: # do not bother to touch msg if not changed
+            if new_value != value: # do not bother to touch msg if not changed
                 msg.set_param(param, new_value, header)
 
 
@@ -181,7 +181,7 @@ def decode_headers(msg):
 def set_header(msg, header, value):
     "Replace header"
 
-    if msg.has_key(header):
+    if header in msg:
         msg.replace_header(header, value)
     else:
         msg[header] = value
@@ -211,8 +211,8 @@ def decode_body(msg, s):
 
     entries = mailcap.lookup(caps, content_type, "view")
     for entry in entries:
-        if entry.has_key('copiousoutput'):
-            if entry.has_key('test'):
+        if 'copiousoutput' in entry:
+            if 'test' in entry:
                 test = mailcap.subst(entry['test'], content_type, filename)
                 if test and os.system(test) != 0:
                     continue
@@ -241,7 +241,7 @@ def recode_charset(msg, s):
     "Recode charset of the message to the default charset"
 
     save_charset = charset = msg.get_content_charset()
-    if charset and charset.lower() <> g.default_encoding:
+    if charset and charset.lower() != g.default_encoding:
         s = recode_if_needed(s, charset)
         content_type = msg.get_content_type()
         set_content_type(msg, content_type, g.default_encoding)
@@ -373,7 +373,7 @@ def decode_part(msg):
 
     for content_type in masks:
         if content_type in g.error_mask:
-            raise ValueError, "content type %s prohibited" % ctype
+            raise ValueError("content type %s prohibited" % ctype)
 
 def decode_multipart(msg):
     "Decode multipart"
@@ -427,7 +427,7 @@ def decode_multipart(msg):
 
     for content_type in masks:
         if content_type in g.error_mask:
-            raise ValueError, "content type %s prohibited" % ctype
+            raise ValueError("content type %s prohibited" % ctype)
 
     output_headers(msg)