projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6e24906
)
[condenast] Allow multiple formats, and sort centralized
author
Philipp Hagemeister
<phihag@phihag.de>
Fri, 17 Jan 2014 02:36:03 +0000
(
03:36
+0100)
committer
Philipp Hagemeister
<phihag@phihag.de>
Fri, 17 Jan 2014 02:36:03 +0000
(
03:36
+0100)
youtube_dl/extractor/condenast.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/condenast.py
b/youtube_dl/extractor/condenast.py
index fef36fdfd69601faf048f48f007bb6162eed5322..03b75b80d3b3019a75f89f2a773c4c4753afe2eb 100644
(file)
--- a/
youtube_dl/extractor/condenast.py
+++ b/
youtube_dl/extractor/condenast.py
@@
-79,19
+79,21
@@
class CondeNastIE(InfoExtractor):
video_info = self._search_regex(r'var video = ({.+?});', info_page, 'video info')
video_info = json.loads(video_info)
video_info = self._search_regex(r'var video = ({.+?});', info_page, 'video info')
video_info = json.loads(video_info)
- def _formats_sort_key(f):
- type_ord = 1 if f['type'] == 'video/mp4' else 0
- quality_ord = 1 if f['quality'] == 'high' else 0
- return (quality_ord, type_ord)
- best_format = sorted(video_info['sources'][0], key=_formats_sort_key)[-1]
+ formats = [{
+ 'format_id': '%s-%s' % (fdata['type'].split('/')[-1], fdata['quality']),
+ 'url': fdata['src'],
+ 'ext': fdata['type'].split('/')[-1],
+ 'quality': 1 if fdata['quality'] == 'high' else 0,
+ } for fdata in video_info['sources'][0]]
+ self._sort_formats(formats)
- return {
'id': video_id,
-
'url': best_format['src']
,
-
'ext': best_format['type'].split('/')[-1]
,
-
'title': video_info['title'],
-
'thumbnail': video_info['poster_frame'],
-
'description': description,
-
}
+ return {
+
'id': video_id
,
+
'formats': formats
,
+ 'title': video_info['title'],
+ 'thumbnail': video_info['poster_frame'],
+ 'description': description,
+ }
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)