[YoutubeDL] Sanitize outtmpl as path
authorSergey M․ <dstftw@gmail.com>
Sun, 8 Mar 2015 14:57:30 +0000 (20:57 +0600)
committerSergey M․ <dstftw@gmail.com>
Sun, 8 Mar 2015 14:57:30 +0000 (20:57 +0600)
youtube_dl/YoutubeDL.py

index bae52e9c72dad218e99879522a59ca5ed5fc0c0d..4b915116307103ba870dc4a4c4dd816c827322ca 100755 (executable)
@@ -61,6 +61,7 @@ from .utils import (
     render_table,
     SameFileError,
     sanitize_filename,
+    sanitize_path,
     std_headers,
     subtitles_filename,
     takewhile_inclusive,
@@ -553,20 +554,16 @@ class YoutubeDL(object):
                 elif template_dict.get('width'):
                     template_dict['resolution'] = '?x%d' % template_dict['width']
 
-            restrict_filenames = self.params.get('restrictfilenames')
-
             sanitize = lambda k, v: sanitize_filename(
                 compat_str(v),
-                restricted=restrict_filenames,
+                restricted=self.params.get('restrictfilenames'),
                 is_id=(k == 'id'))
             template_dict = dict((k, sanitize(k, v))
                                  for k, v in template_dict.items()
                                  if v is not None)
             template_dict = collections.defaultdict(lambda: 'NA', template_dict)
 
-            outtmpl = sanitize_filename(
-                self.params.get('outtmpl', DEFAULT_OUTTMPL),
-                restricted=restrict_filenames)
+            outtmpl = sanitize_path(self.params.get('outtmpl', DEFAULT_OUTTMPL))
             tmpl = compat_expanduser(outtmpl)
             filename = tmpl % template_dict
             # Temporary fix for #4787