projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c8da40d
)
[generic] Add support for single format Video.js embeds (closes #14371)
author
Sergey M․
<dstftw@gmail.com>
Sun, 1 Oct 2017 00:01:21 +0000
(07:01 +0700)
committer
Sergey M․
<dstftw@gmail.com>
Sun, 1 Oct 2017 00:01:42 +0000
(07:01 +0700)
youtube_dl/extractor/generic.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/generic.py
b/youtube_dl/extractor/generic.py
index a3d09a036a03761ababe08cb0bbe0a166d9faf0a..1721a3dbd02a73e5afb685ead0f0a6bdd87a5dd4 100644
(file)
--- a/
youtube_dl/extractor/generic.py
+++ b/
youtube_dl/extractor/generic.py
@@
-1133,7
+1133,7
@@
class GenericIE(InfoExtractor):
}
},
{
}
},
{
- # Video.js embed
+ # Video.js embed
, multiple formats
'url': 'http://ortcam.com/solidworks-урок-6-настройка-чертежа_33f9b7351.html',
'info_dict': {
'id': 'yygqldloqIk',
'url': 'http://ortcam.com/solidworks-урок-6-настройка-чертежа_33f9b7351.html',
'info_dict': {
'id': 'yygqldloqIk',
@@
-1148,6
+1148,19
@@
class GenericIE(InfoExtractor):
'skip_download': True,
},
},
'skip_download': True,
},
},
+ {
+ # Video.js embed, single format
+ 'url': 'https://www.vooplayer.com/v3/watch/watch.php?v=NzgwNTg=',
+ 'info_dict': {
+ 'id': 'watch',
+ 'ext': 'mp4',
+ 'title': 'Step 1 - Good Foundation',
+ 'description': 'md5:d1e7ff33a29fc3eb1673d6c270d344f4',
+ },
+ 'params': {
+ 'skip_download': True,
+ },
+ },
# rtl.nl embed
{
'url': 'http://www.rtlnieuws.nl/nieuws/buitenland/aanslagen-kopenhagen',
# rtl.nl embed
{
'url': 'http://www.rtlnieuws.nl/nieuws/buitenland/aanslagen-kopenhagen',
@@
-2900,12
+2913,14
@@
class GenericIE(InfoExtractor):
# Video.js embed
mobj = re.search(
# Video.js embed
mobj = re.search(
- r'(?s)\bvideojs\s*\(.+?\
bplayer\.src\s*\(\s*(\[.+?\]
)\s*\)\s*;',
+ r'(?s)\bvideojs\s*\(.+?\
.src\s*\(\s*((?:\[.+?\]|{.+?})
)\s*\)\s*;',
webpage)
if mobj is not None:
sources = self._parse_json(
mobj.group(1), video_id, transform_source=js_to_json,
fatal=False) or []
webpage)
if mobj is not None:
sources = self._parse_json(
mobj.group(1), video_id, transform_source=js_to_json,
fatal=False) or []
+ if not isinstance(sources, list):
+ sources = [sources]
formats = []
for source in sources:
src = source.get('src')
formats = []
for source in sources:
src = source.get('src')