]> granicus.if.org Git - python/commitdiff
get_content_charset(): RFC 2046 $4.1.2 says charsets are not case
authorBarry Warsaw <barry@python.org>
Thu, 10 Oct 2002 15:13:26 +0000 (15:13 +0000)
committerBarry Warsaw <barry@python.org>
Thu, 10 Oct 2002 15:13:26 +0000 (15:13 +0000)
sensitive.  Coerce the argument to lower case.

Lib/email/Message.py

index 87ab309885cca36245d0e8f66b1785558666165e..16ae12082eea94ed891cc3f077a862457a86bce5 100644 (file)
@@ -760,8 +760,9 @@ class Message:
     def get_content_charset(self, failobj=None):
         """Return the charset parameter of the Content-Type header.
 
-        If there is no Content-Type header, or if that header has no charset
-        parameter, failobj is returned.
+        The returned string is always coerced to lower case.  If there is no
+        Content-Type header, or if that header has no charset parameter,
+        failobj is returned.
         """
         missing = []
         charset = self.get_param('charset', missing)
@@ -769,8 +770,9 @@ class Message:
             return failobj
         if isinstance(charset, TupleType):
             # RFC 2231 encoded, so decode it, and it better end up as ascii.
-            return unicode(charset[2], charset[0]).encode('us-ascii')
-        return charset
+            charset = unicode(charset[2], charset[0]).encode('us-ascii')
+        # RFC 2046, $4.1.2 says charsets are not case sensitive
+        return charset.lower()
 
     def get_charsets(self, failobj=None):
         """Return a list containing the charset(s) used in this message.