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:
Guido van Rossum 2002-05-28 18:49:03 +00:00
parent 05459c5e5e
commit 1a7ac359a0
1 changed files with 11 additions and 3 deletions

View File

@ -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')