summaryrefslogtreecommitdiff
path: root/Lib/email/Charset.py
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2002-10-10 15:11:20 +0000
committerBarry Warsaw <barry@python.org>2002-10-10 15:11:20 +0000
commit14fc464ec9b0e4ac0e62af515740e9bb0a5ea448 (patch)
tree5f43fc92ee898e68221d14e3e1075af6d313ba45 /Lib/email/Charset.py
parentd4f7da3cd7545d77d283cfee637f2a88385dea7a (diff)
downloadcpython-git-14fc464ec9b0e4ac0e62af515740e9bb0a5ea448.tar.gz
__init__(): RFC 2046 $4.1.2 says charsets are not case sensitive.
Coerce the argument to lower case. Also, since body encodings can't be SHORTEST, default the CHARSETS failobj's second item to BASE64.
Diffstat (limited to 'Lib/email/Charset.py')
-rw-r--r--Lib/email/Charset.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/Lib/email/Charset.py b/Lib/email/Charset.py
index 9a7e510976..67cc1ecb42 100644
--- a/Lib/email/Charset.py
+++ b/Lib/email/Charset.py
@@ -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