|  | @@ -1139,57 +1139,57 @@ class YoutubeDL(object):
 | 
	
		
			
				|  |  |              res = default
 | 
	
		
			
				|  |  |          return res
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    def list_formats(self, info_dict):
 | 
	
		
			
				|  |  | -        def format_note(fdict):
 | 
	
		
			
				|  |  | -            res = ''
 | 
	
		
			
				|  |  | -            if fdict.get('ext') in ['f4f', 'f4m']:
 | 
	
		
			
				|  |  | -                res += '(unsupported) '
 | 
	
		
			
				|  |  | -            if fdict.get('format_note') is not None:
 | 
	
		
			
				|  |  | -                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'):
 | 
	
		
			
				|  |  | -                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:
 | 
	
		
			
				|  |  | -                res += 'video@'
 | 
	
		
			
				|  |  | +    def _format_note(self, fdict):
 | 
	
		
			
				|  |  | +        res = ''
 | 
	
		
			
				|  |  | +        if fdict.get('ext') in ['f4f', 'f4m']:
 | 
	
		
			
				|  |  | +            res += '(unsupported) '
 | 
	
		
			
				|  |  | +        if fdict.get('format_note') is not None:
 | 
	
		
			
				|  |  | +            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'):
 | 
	
		
			
				|  |  | +            if res:
 | 
	
		
			
				|  |  | +                res += ', '
 | 
	
		
			
				|  |  | +            res += fdict['vcodec']
 | 
	
		
			
				|  |  |              if fdict.get('vbr') is not None:
 | 
	
		
			
				|  |  | -                res += '%4dk' % fdict['vbr']
 | 
	
		
			
				|  |  | -            if fdict.get('acodec') is not None:
 | 
	
		
			
				|  |  | -                if res:
 | 
	
		
			
				|  |  | -                    res += ', '
 | 
	
		
			
				|  |  | -                if fdict['acodec'] == 'none':
 | 
	
		
			
				|  |  | -                    res += 'video only'
 | 
	
		
			
				|  |  | -                else:
 | 
	
		
			
				|  |  | -                    res += '%-5s' % fdict['acodec']
 | 
	
		
			
				|  |  | -            elif fdict.get('abr') is not None:
 | 
	
		
			
				|  |  | -                if res:
 | 
	
		
			
				|  |  | -                    res += ', '
 | 
	
		
			
				|  |  | -                res += 'audio'
 | 
	
		
			
				|  |  | -            if fdict.get('abr') is not None:
 | 
	
		
			
				|  |  | -                res += '@%3dk' % fdict['abr']
 | 
	
		
			
				|  |  | -            if fdict.get('asr') is not None:
 | 
	
		
			
				|  |  | -                res += ' (%5dHz)' % fdict['asr']
 | 
	
		
			
				|  |  | -            if fdict.get('filesize') is not None:
 | 
	
		
			
				|  |  | -                if res:
 | 
	
		
			
				|  |  | -                    res += ', '
 | 
	
		
			
				|  |  | -                res += format_bytes(fdict['filesize'])
 | 
	
		
			
				|  |  | -            return res
 | 
	
		
			
				|  |  | +                res += '@'
 | 
	
		
			
				|  |  | +        elif fdict.get('vbr') is not None and fdict.get('abr') is not None:
 | 
	
		
			
				|  |  | +            res += 'video@'
 | 
	
		
			
				|  |  | +        if fdict.get('vbr') is not None:
 | 
	
		
			
				|  |  | +            res += '%4dk' % fdict['vbr']
 | 
	
		
			
				|  |  | +        if fdict.get('acodec') is not None:
 | 
	
		
			
				|  |  | +            if res:
 | 
	
		
			
				|  |  | +                res += ', '
 | 
	
		
			
				|  |  | +            if fdict['acodec'] == 'none':
 | 
	
		
			
				|  |  | +                res += 'video only'
 | 
	
		
			
				|  |  | +            else:
 | 
	
		
			
				|  |  | +                res += '%-5s' % fdict['acodec']
 | 
	
		
			
				|  |  | +        elif fdict.get('abr') is not None:
 | 
	
		
			
				|  |  | +            if res:
 | 
	
		
			
				|  |  | +                res += ', '
 | 
	
		
			
				|  |  | +            res += 'audio'
 | 
	
		
			
				|  |  | +        if fdict.get('abr') is not None:
 | 
	
		
			
				|  |  | +            res += '@%3dk' % fdict['abr']
 | 
	
		
			
				|  |  | +        if fdict.get('asr') is not None:
 | 
	
		
			
				|  |  | +            res += ' (%5dHz)' % fdict['asr']
 | 
	
		
			
				|  |  | +        if fdict.get('filesize') is not None:
 | 
	
		
			
				|  |  | +            if res:
 | 
	
		
			
				|  |  | +                res += ', '
 | 
	
		
			
				|  |  | +            res += format_bytes(fdict['filesize'])
 | 
	
		
			
				|  |  | +        return res
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    def list_formats(self, info_dict):
 | 
	
		
			
				|  |  |          def line(format, idlen=20):
 | 
	
		
			
				|  |  |              return (('%-' + compat_str(idlen + 1) + 's%-10s%-12s%s') % (
 | 
	
		
			
				|  |  |                  format['format_id'],
 | 
	
		
			
				|  |  |                  format['ext'],
 | 
	
		
			
				|  |  |                  self.format_resolution(format),
 | 
	
		
			
				|  |  | -                format_note(format),
 | 
	
		
			
				|  |  | +                self._format_note(format),
 | 
	
		
			
				|  |  |              ))
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          formats = info_dict.get('formats', [info_dict])
 | 
	
	
		
			
				|  | @@ -1197,8 +1197,8 @@ class YoutubeDL(object):
 | 
	
		
			
				|  |  |                      max(len(f['format_id']) for f in formats))
 | 
	
		
			
				|  |  |          formats_s = [line(f, idlen) for f in formats]
 | 
	
		
			
				|  |  |          if len(formats) > 1:
 | 
	
		
			
				|  |  | -            formats_s[0] += (' ' if format_note(formats[0]) else '') + '(worst)'
 | 
	
		
			
				|  |  | -            formats_s[-1] += (' ' if format_note(formats[-1]) else '') + '(best)'
 | 
	
		
			
				|  |  | +            formats_s[0] += (' ' if self._format_note(formats[0]) else '') + '(worst)'
 | 
	
		
			
				|  |  | +            formats_s[-1] += (' ' if self._format_note(formats[-1]) else '') + '(best)'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          header_line = line({
 | 
	
		
			
				|  |  |              'format_id': 'format code', 'ext': 'extension',
 |