浏览代码

[theplatform] Use centralized sorting

Philipp Hagemeister 11 年之前
父节点
当前提交
360babf799
共有 1 个文件被更改,包括 10 次插入4 次删除
  1. 10 4
      youtube_dl/extractor/theplatform.py

+ 10 - 4
youtube_dl/extractor/theplatform.py

@@ -55,15 +55,21 @@ class ThePlatformIE(InfoExtractor):
         formats = []
         formats = []
         for f in switch.findall(_x('smil:video')):
         for f in switch.findall(_x('smil:video')):
             attr = f.attrib
             attr = f.attrib
+            width = int(attr['width'])
+            height = int(attr['height'])
+            vbr = int(attr['system-bitrate']) // 1000
+            format_id = '%dx%d_%dk' % (width, height, vbr)
             formats.append({
             formats.append({
+                'format_id': format_id,
                 'url': base_url,
                 'url': base_url,
                 'play_path': 'mp4:' + attr['src'],
                 'play_path': 'mp4:' + attr['src'],
                 'ext': 'flv',
                 'ext': 'flv',
-                'width': int(attr['width']),
-                'height': int(attr['height']),
-                'vbr': int(attr['system-bitrate']),
+                'width': width,
+                'height': height,
+                'vbr': vbr,
             })
             })
-        formats.sort(key=lambda f: (f['height'], f['width'], f['vbr']))
+
+        self._sort_formats(formats)
 
 
         return {
         return {
             'id': video_id,
             'id': video_id,