[YoutubeDL] guard against strange sys.stdouts
authorPhilipp Hagemeister <phihag@phihag.de>
Wed, 12 Nov 2014 14:30:26 +0000 (15:30 +0100)
committerPhilipp Hagemeister <phihag@phihag.de>
Wed, 12 Nov 2014 14:30:26 +0000 (15:30 +0100)
youtube_dl/YoutubeDL.py

index 7951001fa746481b58d818300cbfdc1bbebb9879..5c875b4972f61e2ce925c40d13a94fa53fb059d3 100755 (executable)
@@ -1306,11 +1306,13 @@ class YoutubeDL(object):
             self.report_warning(
                 'Your Python is broken! Update to a newer and supported version')
 
+        stdout_encoding = getattr(
+            sys.stdout, 'encoding', 'missing (%s)' % type(sys.stdout).__name__)
         encoding_str = (
             '[debug] Encodings: locale %s, fs %s, out %s, pref %s\n' % (
                 locale.getpreferredencoding(),
                 sys.getfilesystemencoding(),
-                sys.stdout.encoding,
+                stdout_encoding,
                 self.get_encoding()))
         write_string(encoding_str, encoding=None)