Do not encode outtmpl twice (Closes #5288)
authorSergey M․ <dstftw@gmail.com>
Fri, 3 Apr 2015 18:30:37 +0000 (00:30 +0600)
committerSergey M․ <dstftw@gmail.com>
Fri, 3 Apr 2015 18:30:37 +0000 (00:30 +0600)
youtube_dl/__init__.py
youtube_dl/options.py

index 852b2fc3db24b85138b44e7a5cf8f4338d787ce7..1c8b411b7f037d4bce2face086f0743f4f23003a 100644 (file)
@@ -189,10 +189,6 @@ def _real_main(argv=None):
     if opts.allsubtitles and not opts.writeautomaticsub:
         opts.writesubtitles = True
 
-    if sys.version_info < (3,):
-        # In Python 2, sys.argv is a bytestring (also note http://bugs.python.org/issue2128 for Windows systems)
-        if opts.outtmpl is not None:
-            opts.outtmpl = opts.outtmpl.decode(preferredencoding())
     outtmpl = ((opts.outtmpl is not None and opts.outtmpl) or
                (opts.format == '-1' and opts.usetitle and '%(title)s-%(id)s-%(format)s.%(ext)s') or
                (opts.format == '-1' and '%(id)s-%(format)s.%(ext)s') or
index 35c7e5fb3507f5e846e166c5f6c15f6cf637498a..8e80e3759410ed18afa3a1c432c53e0785d90b51 100644 (file)
@@ -13,6 +13,7 @@ from .compat import (
     compat_kwargs,
 )
 from .utils import (
+    preferredencoding,
     write_string,
 )
 from .version import __version__
@@ -797,7 +798,7 @@ def parseOpts(overrideArguments=None):
         # Workaround for Python 2.x, where argv is a byte list
         if sys.version_info < (3,):
             command_line_conf = [
-                a.decode('utf-8', 'replace') for a in command_line_conf]
+                a.decode(preferredencoding(), 'replace') for a in command_line_conf]
 
         if '--ignore-config' in command_line_conf:
             system_conf = []