فهرست منبع

[YoutubeDL] guard against strange sys.stdouts

Philipp Hagemeister 10 سال پیش
والد
کامیت
c6afed48ff
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      youtube_dl/YoutubeDL.py

+ 3 - 1
youtube_dl/YoutubeDL.py

@@ -1306,11 +1306,13 @@ class YoutubeDL(object):
             self.report_warning(
             self.report_warning(
                 'Your Python is broken! Update to a newer and supported version')
                 '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 = (
         encoding_str = (
             '[debug] Encodings: locale %s, fs %s, out %s, pref %s\n' % (
             '[debug] Encodings: locale %s, fs %s, out %s, pref %s\n' % (
                 locale.getpreferredencoding(),
                 locale.getpreferredencoding(),
                 sys.getfilesystemencoding(),
                 sys.getfilesystemencoding(),
-                sys.stdout.encoding,
+                stdout_encoding,
                 self.get_encoding()))
                 self.get_encoding()))
         write_string(encoding_str, encoding=None)
         write_string(encoding_str, encoding=None)