31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from .common import InfoExtractor
|
|
from ..utils import make_archive_id
|
|
|
|
|
|
class HTML5MediaEmbedIE(InfoExtractor):
|
|
_VALID_URL = False
|
|
IE_NAME = 'html5'
|
|
_WEBPAGE_TESTS = [
|
|
{
|
|
'url': 'https://html.com/media/',
|
|
'info_dict': {
|
|
'title': 'HTML5 Media',
|
|
'description': 'md5:933b2d02ceffe7a7a0f3c8326d91cc2a',
|
|
},
|
|
'playlist_count': 2
|
|
}
|
|
]
|
|
|
|
def _extract_from_webpage(self, url, webpage):
|
|
video_id, title = self._generic_id(url), self._generic_title(url)
|
|
entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls') or []
|
|
for num, entry in enumerate(entries, start=1):
|
|
entry.update({
|
|
'id': f'{video_id}-{num}',
|
|
'title': f'{title} ({num})',
|
|
'_old_archive_ids': [
|
|
make_archive_id('generic', f'{video_id}-{num}' if len(entries) > 1 else video_id),
|
|
],
|
|
})
|
|
self._sort_formats(entry['formats'])
|
|
yield entry
|