Micro-optimization

This commit is contained in:
Kovid Goyal 2017-07-06 19:59:35 +05:30
parent b3b2c36be1
commit f53fdebabd
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -638,21 +638,21 @@ def prepare_string_for_xml(raw, attribute=False):
def isbytestring(obj): def isbytestring(obj):
return isinstance(obj, (str, bytes)) return isinstance(obj, bytes)
def force_unicode(obj, enc=preferred_encoding): def force_unicode(obj, enc=preferred_encoding):
if isbytestring(obj): if isbytestring(obj):
try: try:
obj = obj.decode(enc) obj = obj.decode(enc)
except: except Exception:
try: try:
obj = obj.decode(filesystem_encoding if enc == obj = obj.decode(filesystem_encoding if enc ==
preferred_encoding else preferred_encoding) preferred_encoding else preferred_encoding)
except: except Exception:
try: try:
obj = obj.decode('utf-8') obj = obj.decode('utf-8')
except: except Exception:
obj = repr(obj) obj = repr(obj)
if isbytestring(obj): if isbytestring(obj):
obj = obj.decode('utf-8') obj = obj.decode('utf-8')