1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-12-21 18:52:56 +08:00

YoutubeDL: set the 'params' property before any message/warning/error is sent (fixes #1840)

If it sets the 'restrictfilenames' param, it will first report a warning. It will try to get the logger from the 'params' property, which would be set at that moment to None, raising the error 'AttributeError: 'NoneType' object has no attribute 'get''
This commit is contained in:
Jaime Marquínez Ferrándiz 2013-11-26 18:53:36 +01:00
parent c5ed4e8f7e
commit 4a98cdbf3b

View File

@ -155,6 +155,7 @@ class YoutubeDL(object):
self._download_retcode = 0
self._num_downloads = 0
self._screen_file = [sys.stdout, sys.stderr][params.get('logtostderr', False)]
self.params = params
if (sys.version_info >= (3,) and sys.platform != 'win32' and
sys.getfilesystemencoding() in ['ascii', 'ANSI_X3.4-1968']
@ -164,9 +165,8 @@ class YoutubeDL(object):
u'Assuming --restrict-filenames since file system encoding '
u'cannot encode all charactes. '
u'Set the LC_ALL environment variable to fix this.')
params['restrictfilenames'] = True
self.params['restrictfilenames'] = True
self.params = params
self.fd = FileDownloader(self, self.params)
if '%(stitle)s' in self.params.get('outtmpl', ''):