fix_encoding: Do unicode type checks only on Python 2

The unicode type doesn't exist in Python 3, because everything's Unicode.

This would resulted in the following error on Python 3:
<Unicode console <stderr>>.write: NameError("name 'unicode' is not defined")

Bug: 942522
Change-Id: I3e90d078df64abcec2c79aa69881deea40ff7d01
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1701401
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Raul Tambre <raul@tambre.ee>
Auto-Submit: Raul Tambre <raul@tambre.ee>
changes/01/1701401/6
Raul Tambre 6 years ago committed by Commit Bot
parent 43271f94de
commit 65c2b1e1d1

@ -212,7 +212,7 @@ class WinUnicodeConsoleOutput(WinUnicodeOutputBase):
def write(self, text):
try:
if not isinstance(text, unicode):
if sys.version_info.major == 2 and not isinstance(text, unicode):
# Convert to unicode.
text = str(text).decode(self.encoding, 'replace')
remaining = len(text)
@ -262,7 +262,7 @@ class WinUnicodeOutput(WinUnicodeOutputBase):
def write(self, text):
try:
if isinstance(text, unicode):
if sys.version_info.major == 2 and isinstance(text, unicode):
# Replace characters that cannot be printed instead of failing.
text = text.encode(self.encoding, 'replace')
self._stream.write(text)

Loading…
Cancel
Save