1
0
mirror of https://github.com/l1ving/youtube-dl synced 2025-02-05 00:52:53 +08:00

Ignore non-ascii characters in py3k filename and stdout/stderr output

This commit is contained in:
xantares 2013-09-08 14:43:01 +02:00
parent a7130543fa
commit fe3d8a80af
2 changed files with 5 additions and 0 deletions

View File

@ -147,6 +147,8 @@ class YoutubeDL(object):
output = message + terminator
if 'b' in getattr(self._screen_file, 'mode', '') or sys.version_info[0] < 3: # Python 2 lies about the mode of sys.stdout/sys.stderr
output = output.encode(preferredencoding(), 'ignore')
if sys.version_info >= (3, 0):
output = output.encode('ascii','ignore').decode()
self._screen_file.write(output)
self._screen_file.flush()
@ -156,6 +158,8 @@ class YoutubeDL(object):
output = message + u'\n'
if 'b' in getattr(self._screen_file, 'mode', '') or sys.version_info[0] < 3: # Python 2 lies about the mode of sys.stdout/sys.stderr
output = output.encode(preferredencoding())
if sys.version_info >= (3, 0):
output = output.encode('ascii','ignore').decode()
sys.stderr.write(output)
def fixed_template(self):

View File

@ -449,6 +449,7 @@ def encodeFilename(s):
# Python 3 has a Unicode API
if sys.version_info >= (3, 0):
s = s.encode('ascii','ignore').decode()
return s
if sys.platform == 'win32' and sys.getwindowsversion()[0] >= 5: