ContentTooShortError,
date_from_str,
DateRange,
+ DEFAULT_OUTTMPL,
determine_ext,
DownloadError,
encodeFilename,
if v is not None)
template_dict = collections.defaultdict(lambda: 'NA', template_dict)
- tmpl = os.path.expanduser(self.params['outtmpl'])
+ outtmpl = self.params.get('outtmpl', DEFAULT_OUTTMPL)
+ tmpl = os.path.expanduser(outtmpl)
filename = tmpl % template_dict
return filename
except ValueError as err:
info_dict['playlist'] = None
info_dict['playlist_index'] = None
+ thumbnails = info_dict.get('thumbnails')
+ if thumbnails:
+ thumbnails.sort(key=lambda t: (
+ t.get('width'), t.get('height'), t.get('url')))
+ for t in thumbnails:
+ if 'width' in t and 'height' in t:
+ t['resolution'] = '%dx%d' % (t['width'], t['height'])
+
+ if thumbnails and 'thumbnail' not in info_dict:
+ info_dict['thumbnail'] = thumbnails[-1]['url']
+
if 'display_id' not in info_dict and 'id' in info_dict:
info_dict['display_id'] = info_dict['id']
fd = get_suitable_downloader(info)(self, self.params)
for ph in self._progress_hooks:
fd.add_progress_hook(ph)
+ if self.params.get('verbose'):
+ self.to_stdout('[debug] Invoking downloader on %r' % info.get('url'))
return fd.download(name, info)
if info_dict.get('requested_formats') is not None:
downloaded = []
def download(self, url_list):
"""Download a given list of URLs."""
+ outtmpl = self.params.get('outtmpl', DEFAULT_OUTTMPL)
if (len(url_list) > 1 and
- '%' not in self.params['outtmpl']
+ '%' not in outtmpl
and self.params.get('max_downloads') != 1):
- raise SameFileError(self.params['outtmpl'])
+ raise SameFileError(outtmpl)
for url in url_list:
try: