except UnicodeEncodeError:
self.to_screen('[download] The file has already been downloaded')
- def increment_downloads(self):
- """Increment the ordinal that assigns a number to each file."""
- self._num_downloads += 1
-
def prepare_filename(self, info_dict):
"""Generate the output filename."""
try:
except ExtractorError as de: # An error we somewhat expected
self.report_error(compat_str(de), de.format_traceback())
break
+ except MaxDownloadsReached:
+ raise
except Exception as e:
if self.params.get('ignoreerrors', False):
self.report_error(compat_str(e), tb=compat_str(traceback.format_exc()))
"""Process a single resolved IE result."""
assert info_dict.get('_type', 'video') == 'video'
- #We increment the download the download count here to match the previous behaviour.
- self.increment_downloads()
+
+ max_downloads = self.params.get('max_downloads')
+ if max_downloads is not None:
+ if self._num_downloads >= int(max_downloads):
+ raise MaxDownloadsReached()
info_dict['fulltitle'] = info_dict['title']
if len(info_dict['title']) > 200:
self.to_screen('[download] ' + reason)
return
- max_downloads = self.params.get('max_downloads')
- if max_downloads is not None:
- if self._num_downloads > int(max_downloads):
- raise MaxDownloadsReached()
+ self._num_downloads += 1
filename = self.prepare_filename(info_dict)
res += fdict['format_note'] + ' '
if fdict.get('tbr') is not None:
res += '%4dk ' % fdict['tbr']
+ if fdict.get('container') is not None:
+ if res:
+ res += ', '
+ res += '%s container' % fdict['container']
if (fdict.get('vcodec') is not None and
fdict.get('vcodec') != 'none'):
- res += '%-5s' % fdict['vcodec']
+ if res:
+ res += ', '
+ res += fdict['vcodec']
if fdict.get('vbr') is not None:
res += '@'
elif fdict.get('vbr') is not None and fdict.get('abr') is not None:
if fdict.get('acodec') is not None:
if res:
res += ', '
- res += '%-5s' % fdict['acodec']
+ if fdict['acodec'] == 'none':
+ res += 'video only'
+ else:
+ res += '%-5s' % fdict['acodec']
elif fdict.get('abr') is not None:
if res:
res += ', '