mirror of
https://github.com/ytdl-org/youtube-dl
synced 2025-03-18 22:12:21 +09:00
Ignore non-ascii characters in py3k filename and stdout/stderr output
This commit is contained in:
parent
a7130543fa
commit
fe3d8a80af
@ -147,6 +147,8 @@ class YoutubeDL(object):
|
|||||||
output = message + terminator
|
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
|
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')
|
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.write(output)
|
||||||
self._screen_file.flush()
|
self._screen_file.flush()
|
||||||
|
|
||||||
@ -156,6 +158,8 @@ class YoutubeDL(object):
|
|||||||
output = message + u'\n'
|
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
|
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())
|
output = output.encode(preferredencoding())
|
||||||
|
if sys.version_info >= (3, 0):
|
||||||
|
output = output.encode('ascii','ignore').decode()
|
||||||
sys.stderr.write(output)
|
sys.stderr.write(output)
|
||||||
|
|
||||||
def fixed_template(self):
|
def fixed_template(self):
|
||||||
|
@ -449,6 +449,7 @@ def encodeFilename(s):
|
|||||||
|
|
||||||
# Python 3 has a Unicode API
|
# Python 3 has a Unicode API
|
||||||
if sys.version_info >= (3, 0):
|
if sys.version_info >= (3, 0):
|
||||||
|
s = s.encode('ascii','ignore').decode()
|
||||||
return s
|
return s
|
||||||
|
|
||||||
if sys.platform == 'win32' and sys.getwindowsversion()[0] >= 5:
|
if sys.platform == 'win32' and sys.getwindowsversion()[0] >= 5:
|
||||||
|
Loading…
Reference in New Issue
Block a user