mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 18:51:29 +00:00
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>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user