From: Jaime Marquínez Ferrándiz Date: Tue, 26 Nov 2013 17:53:36 +0000 (+0100) Subject: YoutubeDL: set the 'params' property before any message/warning/error is sent (fixes... X-Git-Url: http://git.bitcoin.ninja/index.cgi?p=youtube-dl;a=commitdiff_plain;h=4a98cdbf3b19b07c7a885d348e79ddf79318f133 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'' --- diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index e86e8a090..711b5d79e 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -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', ''):