From 7dcad95d4faa91adfaa4d87d411c4bc55ab000e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Sun, 8 Mar 2015 01:13:23 +0600 Subject: [PATCH] [YoutubeDL] Sanitize outtmpl as it may contain forbidden characters --- youtube_dl/YoutubeDL.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index df2aebb59..bae52e9c7 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -553,16 +553,20 @@ 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=self.params.get('restrictfilenames'), + restricted=restrict_filenames, 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 = self.params.get('outtmpl', DEFAULT_OUTTMPL) + outtmpl = sanitize_filename( + self.params.get('outtmpl', DEFAULT_OUTTMPL), + restricted=restrict_filenames) tmpl = compat_expanduser(outtmpl) filename = tmpl % template_dict # Temporary fix for #4787