[YoutubeDL] Temporary fix for subprocess encoding issues on python2 @ Windows (Closes...
authorSergey M․ <dstftw@gmail.com>
Tue, 27 Jan 2015 16:38:28 +0000 (22:38 +0600)
committerSergey M․ <dstftw@gmail.com>
Tue, 27 Jan 2015 16:38:28 +0000 (22:38 +0600)
For now filenames will be encoded with preferrefencoding before written to disk

youtube_dl/YoutubeDL.py

index b5dd77e3fdb1ac6bdf9a9d084069315d83185331..7f054cdff8b0766f0afe5c99109c58adade47d14 100755 (executable)
@@ -543,6 +543,11 @@ class YoutubeDL(object):
             outtmpl = self.params.get('outtmpl', DEFAULT_OUTTMPL)
             tmpl = compat_expanduser(outtmpl)
             filename = tmpl % template_dict
+            # Temporary fix for #4787
+            # 'Treat' all problem characters by passing filename through preferredencoding
+            # to workaround encoding issues with subprocess on python2 @ Windows
+            if sys.version_info < (3, 0) and sys.platform == 'win32':
+                filename = encodeFilename(filename, True).decode(preferredencoding())
             return filename
         except ValueError as err:
             self.report_error('Error in output template: ' + str(err) + ' (encoding: ' + repr(preferredencoding()) + ')')