-# coding: utf-8
-from __future__ import unicode_literals
-
import re
from .common import InfoExtractor
], 'video-api-cdn.%s.arcpublishing.com/api'),
]
- @staticmethod
- def _extract_urls(webpage):
+ @classmethod
+ def _extract_embed_urls(cls, url, webpage):
entries = []
# https://arcpublishing.atlassian.net/wiki/spaces/POWA/overview
for powa_el in re.findall(r'(<div[^>]+class="[^"]*\bpowa\b[^"]*"[^>]+data-uuid="%s"[^>]*>)' % ArcPublishingIE._UUID_REGEX, webpage):
return entries
def _real_extract(self, url):
- org, uuid = re.match(self._VALID_URL, url).groups()
+ org, uuid = self._match_valid_url(url).groups()
for orgs, tmpl in self._POWA_DEFAULTS:
if org in orgs:
base_api_tmpl = tmpl
formats.extend(smil_formats)
elif stream_type in ('ts', 'hls'):
m3u8_formats = self._extract_m3u8_formats(
- s_url, uuid, 'mp4', 'm3u8' if is_live else 'm3u8_native',
- m3u8_id='hls', fatal=False)
+ s_url, uuid, 'mp4', live=is_live, m3u8_id='hls', fatal=False)
if all([f.get('acodec') == 'none' for f in m3u8_formats]):
continue
for f in m3u8_formats:
'url': s_url,
'quality': -10,
})
- self._sort_formats(formats)
subtitles = {}
for subtitle in (try_get(video, lambda x: x['subtitles']['urls'], list) or []):
return {
'id': uuid,
- 'title': self._live_title(title) if is_live else title,
+ 'title': title,
'thumbnail': try_get(video, lambda x: x['promo_image']['url']),
'description': try_get(video, lambda x: x['subheadlines']['basic']),
'formats': formats,