diff options
| -rw-r--r-- | youtube_dl/YoutubeDL.py | 2 | ||||
| -rw-r--r-- | youtube_dl/extractor/common.py | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/yahoo.py | 12 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 4 | 
4 files changed, 13 insertions, 6 deletions
| diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 88f4b11f6..a9a3639d7 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -1018,6 +1018,8 @@ class YoutubeDL(object):                  res += u'(unsupported) '              if fdict.get('format_note') is not None:                  res += fdict['format_note'] + u' ' +            if fdict.get('tbr') is not None: +                res += u'%4dk ' % fdict['tbr']              if (fdict.get('vcodec') is not None and                      fdict.get('vcodec') != 'none'):                  res += u'%-5s@' % fdict['vcodec'] diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 05f0cb6d5..6fa60622e 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -57,6 +57,7 @@ class InfoExtractor(object):                      * width      Width of the video, if known                      * height     Height of the video, if known                      * resolution Textual description of width and height +                    * tbr        Average bitrate of audio and video in KBit/s                      * abr        Average audio bitrate in KBit/s                      * acodec     Name of the audio codec in use                      * vbr        Average video bitrate in KBit/s diff --git a/youtube_dl/extractor/yahoo.py b/youtube_dl/extractor/yahoo.py index 5c9c361b9..e17a39782 100644 --- a/youtube_dl/extractor/yahoo.py +++ b/youtube_dl/extractor/yahoo.py @@ -6,8 +6,8 @@ from .common import InfoExtractor, SearchInfoExtractor  from ..utils import (      compat_urllib_parse,      compat_urlparse, -    determine_ext,      clean_html, +    int_or_none,  ) @@ -68,9 +68,9 @@ class YahooIE(InfoExtractor):          formats = []          for s in info['streams']:              format_info = { -                'width': s.get('width'), -                'height': s.get('height'), -                'bitrate': s.get('bitrate'), +                'width': int_or_none(s.get('width')), +                'height': int_or_none(s.get('height')), +                'tbr': int_or_none(s.get('bitrate')),              }              host = s['host'] @@ -84,10 +84,10 @@ class YahooIE(InfoExtractor):              else:                  format_url = compat_urlparse.urljoin(host, path)                  format_info['url'] = format_url -                format_info['ext'] = determine_ext(format_url)              formats.append(format_info) -        formats = sorted(formats, key=lambda f:(f['height'], f['width'])) + +        self._sort_formats(formats)          return {              'id': video_id, diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 2e48f187e..4c8bdbb0c 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -1098,3 +1098,7 @@ def url_basename(url):  class HEADRequest(compat_urllib_request.Request):      def get_method(self):          return "HEAD" + + +def int_or_none(v): +    return v if v is None else int(v) | 
