projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f6052ec
)
[npr] Add support for streams (closes #24042)
author
Sergey M․
<dstftw@gmail.com>
Fri, 14 Feb 2020 22:35:55 +0000
(
05:35
+0700)
committer
Sergey M․
<dstftw@gmail.com>
Fri, 14 Feb 2020 22:35:55 +0000
(
05:35
+0700)
youtube_dl/extractor/npr.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/npr.py
b/youtube_dl/extractor/npr.py
index a5e8baa7e2542f4e8d6a8c83dea7bddecf82413d..53acc6e574c0743a223d552d95d8806dc071ed41 100644
(file)
--- a/
youtube_dl/extractor/npr.py
+++ b/
youtube_dl/extractor/npr.py
@@
-4,6
+4,7
@@
from .common import InfoExtractor
from ..utils import (
int_or_none,
qualities,
from ..utils import (
int_or_none,
qualities,
+ url_or_none,
)
)
@@
-48,6
+49,10
@@
class NprIE(InfoExtractor):
},
}],
'expected_warnings': ['Failed to download m3u8 information'],
},
}],
'expected_warnings': ['Failed to download m3u8 information'],
+ }, {
+ # multimedia, no formats, stream
+ 'url': 'https://www.npr.org/2020/02/14/805476846/laura-stevenson-tiny-desk-concert',
+ 'only_matching': True,
}]
def _real_extract(self, url):
}]
def _real_extract(self, url):
@@
-95,6
+100,17
@@
class NprIE(InfoExtractor):
'format_id': format_id,
'quality': quality(format_id),
})
'format_id': format_id,
'quality': quality(format_id),
})
+ for stream_id, stream_entry in media.get('stream', {}).items():
+ if not isinstance(stream_entry, dict):
+ continue
+ if stream_id != 'hlsUrl':
+ continue
+ stream_url = url_or_none(stream_entry.get('$text'))
+ if not stream_url:
+ continue
+ formats.extend(self._extract_m3u8_formats(
+ stream_url, stream_id, 'mp4', 'm3u8_native',
+ m3u8_id='hls', fatal=False))
self._sort_formats(formats)
entries.append({
self._sort_formats(formats)
entries.append({