aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-12-24 12:38:08 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2013-12-24 12:38:08 +0100
commit719d3927d7072a180682df4dee6fc10fc2170800 (patch)
treef56c8458fbfed47410b292fe040413ca153b9ad5
parent55e663a8d73b38922599e7414e24a2620d5763ce (diff)
downloadyoutube-dl-719d3927d7072a180682df4dee6fc10fc2170800.tar.xz
[mit] Add support for multiple formats
-rw-r--r--youtube_dl/extractor/mit.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/youtube_dl/extractor/mit.py b/youtube_dl/extractor/mit.py
index 52be9232f..ab8b7ec3e 100644
--- a/youtube_dl/extractor/mit.py
+++ b/youtube_dl/extractor/mit.py
@@ -3,6 +3,7 @@ import json
from .common import InfoExtractor
from ..utils import (
+ compat_str,
clean_html,
get_element_by_id,
)
@@ -33,8 +34,18 @@ class TechTVMITIE(InfoExtractor):
raw_page, u'base url')
formats_json = self._search_regex(r'bitrates: (\[.+?\])', raw_page,
u'video formats')
- formats = json.loads(formats_json)
- formats = sorted(formats, key=lambda f: f['bitrate'])
+ formats_mit = json.loads(formats_json)
+ formats = [
+ {
+ 'format_id': f['label'],
+ 'url': base_url + f['url'].partition(':')[2],
+ 'ext': f['url'].partition(':')[0],
+ 'format': f['label'],
+ 'width': f['width'],
+ 'vbr': f['bitrate'],
+ }
+ for f in formats_mit
+ ]
title = get_element_by_id('edit-title', clean_page)
description = clean_html(get_element_by_id('edit-description', clean_page))
@@ -43,8 +54,7 @@ class TechTVMITIE(InfoExtractor):
return {'id': video_id,
'title': title,
- 'url': base_url + formats[-1]['url'].replace('mp4:', ''),
- 'ext': 'mp4',
+ 'formats': formats,
'description': description,
'thumbnail': thumbnail,
}