[YoutubeDL] Sanitize outtmpl as path

This commit is contained in:
Sergey M․ 2015-03-08 20:57:30 +06:00
parent d55de57b67
commit 1bb5c511a5

View file

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