projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
095774e
)
[generic] Fix support for multiple HTML5 videos on one page (closes #14080)
author
kayb94
<30302445+kayb94@users.noreply.github.com>
Fri, 22 Sep 2017 22:49:48 +0000
(22:49 +0000)
committer
Sergey M
<dstftw@gmail.com>
Fri, 22 Sep 2017 22:49:48 +0000
(
05:49
+0700)
youtube_dl/extractor/generic.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/generic.py
b/youtube_dl/extractor/generic.py
index b83c18380d2ba24ff0ce4909cf5a66643ae19d41..7d0edf09c6a2e8428b84b3e7ebf787738db1bfaa 100644
(file)
--- a/
youtube_dl/extractor/generic.py
+++ b/
youtube_dl/extractor/generic.py
@@
-1879,6
+1879,15
@@
class GenericIE(InfoExtractor):
'title': 'Building A Business Online: Principal Chairs Q & A',
},
},
'title': 'Building A Business Online: Principal Chairs Q & A',
},
},
+ {
+ # multiple HTML5 videos on one page
+ 'url': 'https://www.paragon-software.com/home/rk-free/keyscenarios.html',
+ 'info_dict': {
+ 'id': 'keyscenarios',
+ 'title': 'Rescue Kit 14 Free Edition - Getting started',
+ },
+ 'playlist_count': 4,
+ }
# {
# # TODO: find another test
# # http://schema.org/VideoObject
# {
# # TODO: find another test
# # http://schema.org/VideoObject
@@
-2849,13
+2858,20
@@
class GenericIE(InfoExtractor):
# Look for HTML5 media
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
if entries:
# Look for HTML5 media
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
if entries:
-
for entry in entries
:
- entr
y
.update({
+
if len(entries) == 1
:
+ entr
ies[0]
.update({
'id': video_id,
'title': video_title,
})
'id': video_id,
'title': video_title,
})
+ else:
+ for num, entry in enumerate(entries, start=1):
+ entry.update({
+ 'id': '%s-%s' % (video_id, num),
+ 'title': '%s (%d)' % (video_title, num),
+ })
+ for entry in entries:
self._sort_formats(entry['formats'])
self._sort_formats(entry['formats'])
- return self.playlist_result(entries)
+ return self.playlist_result(entries
, video_id, video_title
)
jwplayer_data = self._find_jwplayer_data(
webpage, video_id, transform_source=js_to_json)
jwplayer_data = self._find_jwplayer_data(
webpage, video_id, transform_source=js_to_json)