]> granicus.if.org Git - python/commitdiff
__init__(): RFC 2046 $4.1.2 says charsets are not case sensitive.
authorBarry Warsaw <barry@python.org>
Thu, 10 Oct 2002 15:11:20 +0000 (15:11 +0000)
committerBarry Warsaw <barry@python.org>
Thu, 10 Oct 2002 15:11:20 +0000 (15:11 +0000)
Coerce the argument to lower case.  Also, since body encodings can't
be SHORTEST, default the CHARSETS failobj's second item to BASE64.

Lib/email/Charset.py

index 9a7e5109764005eb435b6bdb3ceb53a578da90a7..67cc1ecb42d08b54affab577277a909a3c474c65 100644 (file)
@@ -177,13 +177,15 @@ class Charset:
                   this attribute will have the same value as the input_codec.
     """
     def __init__(self, input_charset=DEFAULT_CHARSET):
+        # RFC 2046, $4.1.2 says charsets are not case sensitive
+        input_charset = input_charset.lower()
         # Set the input charset after filtering through the aliases
         self.input_charset = ALIASES.get(input_charset, input_charset)
         # We can try to guess which encoding and conversion to use by the
         # charset_map dictionary.  Try that first, but let the user override
         # it.
         henc, benc, conv = CHARSETS.get(self.input_charset,
-                                        (SHORTEST, SHORTEST, None))
+                                        (SHORTEST, BASE64, None))
         # Set the attributes, allowing the arguments to override the default.
         self.header_encoding = henc
         self.body_encoding = benc