Importing Charset should not fail when Unicode is disabled. (XXX
Using Unicode-aware methods may still die with a NameError on unicode. Maybe there's a more elegant solution but I doubt anybody cares.)
This commit is contained in:
parent
05459c5e5e
commit
1a7ac359a0
|
@ -1,7 +1,15 @@
|
|||
# Copyright (C) 2001,2002 Python Software Foundation
|
||||
# Author: che@debian.org (Ben Gertzfield)
|
||||
|
||||
from types import UnicodeType
|
||||
try:
|
||||
unicode
|
||||
except NameError:
|
||||
def _is_unicode(x):
|
||||
return 1==0
|
||||
else:
|
||||
def _is_unicode(x):
|
||||
return isinstance(x, unicode)
|
||||
|
||||
from email.Encoders import encode_7or8bit
|
||||
import email.base64MIME
|
||||
import email.quopriMIME
|
||||
|
@ -226,7 +234,7 @@ class Charset:
|
|||
Characters that could not be converted to Unicode will be replaced
|
||||
with the Unicode replacement character U+FFFD.
|
||||
"""
|
||||
if isinstance(s, UnicodeType) or self.input_codec is None:
|
||||
if _is_unicode(s) or self.input_codec is None:
|
||||
return s
|
||||
try:
|
||||
return unicode(s, self.input_codec, 'replace')
|
||||
|
@ -254,7 +262,7 @@ class Charset:
|
|||
codec = self.output_codec
|
||||
else:
|
||||
codec = self.input_codec
|
||||
if not isinstance(ustr, UnicodeType) or codec is None:
|
||||
if not _is_unicode(ustr) or codec is None:
|
||||
return ustr
|
||||
try:
|
||||
return ustr.encode(codec, 'replace')
|
||||
|
|
Loading…
Reference in New Issue