Quellcode durchsuchen

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''
Jaime Marquínez Ferrándiz vor 11 Jahren
Ursprung
Commit
4a98cdbf3b
1 geänderte Dateien mit 2 neuen und 2 gelöschten Zeilen
  1. 2 2
      youtube_dl/YoutubeDL.py

+ 2 - 2
youtube_dl/YoutubeDL.py

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