projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
13cd97f
)
[escapist] Add support for advertisements
author
Philipp Hagemeister
<phihag@phihag.de>
Wed, 25 Feb 2015 23:59:53 +0000
(
00:59
+0100)
committer
Philipp Hagemeister
<phihag@phihag.de>
Wed, 25 Feb 2015 23:59:53 +0000
(
00:59
+0100)
youtube_dl/extractor/escapist.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/escapist.py
b/youtube_dl/extractor/escapist.py
index 3244306dca7dba75cc8fcf36f829776f571b0b8c..b45c1dbd07650d9717408591c7b20077bf62475e 100644
(file)
--- a/
youtube_dl/extractor/escapist.py
+++ b/
youtube_dl/extractor/escapist.py
@@
-52,6
+52,7
@@
class EscapistIE(InfoExtractor):
webpage, 'config URL'))
formats = []
webpage, 'config URL'))
formats = []
+ ad_formats = []
def _add_format(name, cfgurl, quality):
config = self._download_json(
def _add_format(name, cfgurl, quality):
config = self._download_json(
@@
-61,14
+62,19
@@
class EscapistIE(InfoExtractor):
transform_source=js_to_json)
playlist = config['playlist']
transform_source=js_to_json)
playlist = config['playlist']
- video_url = next(
- p['url'] for p in playlist
- if p.get('eventCategory') == 'Video')
- formats.append({
- 'url': video_url,
- 'format_id': name,
- 'quality': quality,
- })
+ for p in playlist:
+ if p.get('eventCategory') == 'Video':
+ ar = formats
+ elif p.get('eventCategory') == 'Video Postroll':
+ ar = ad_formats
+ else:
+ continue
+
+ ar.append({
+ 'url': p['url'],
+ 'format_id': name,
+ 'quality': quality,
+ })
_add_format('normal', config_url, quality=0)
hq_url = (config_url +
_add_format('normal', config_url, quality=0)
hq_url = (config_url +
@@
-77,10
+83,9
@@
class EscapistIE(InfoExtractor):
_add_format('hq', hq_url, quality=1)
except ExtractorError:
pass # That's fine, we'll just use normal quality
_add_format('hq', hq_url, quality=1)
except ExtractorError:
pass # That's fine, we'll just use normal quality
-
self._sort_formats(formats)
self._sort_formats(formats)
- re
turn
{
+ re
s =
{
'id': video_id,
'formats': formats,
'uploader': uploader,
'id': video_id,
'formats': formats,
'uploader': uploader,
@@
-89,3
+94,19
@@
class EscapistIE(InfoExtractor):
'thumbnail': self._og_search_thumbnail(webpage),
'description': description,
}
'thumbnail': self._og_search_thumbnail(webpage),
'description': description,
}
+
+ if self._downloader.params.get('include_ads') and ad_formats:
+ self._sort_formats(ad_formats)
+ ad_res = {
+ 'id': '%s-ad' % video_id,
+ 'title': '%s (Postroll)' % title,
+ 'formats': ad_formats,
+ }
+ return {
+ '_type': 'playlist',
+ 'entries': [res, ad_res],
+ 'title': title,
+ 'id': video_id,
+ }
+
+ return res