-# coding: utf-8
-from __future__ import unicode_literals
-
-import re
-
from .common import InfoExtractor
from ..utils import (
clean_podcast_url,
class SimplecastIE(SimplecastBaseIE):
IE_NAME = 'simplecast'
_VALID_URL = r'https?://(?:api\.simplecast\.com/episodes|player\.simplecast\.com)/(?P<id>%s)' % SimplecastBaseIE._UUID_REGEX
+ _EMBED_REGEX = [rf'''(?x)<iframe[^>]+src=["\']
+ (?P<url>https?://(?:
+ embed\.simplecast\.com/[0-9a-f]{8}|
+ player\.simplecast\.com/{SimplecastBaseIE._UUID_REGEX}
+ ))''']
_COMMON_TEST_INFO = {
'display_id': 'errant-signal-chris-franklin-new-wave-video-essays',
'id': 'b6dc49a2-9404-4853-9aa9-9cfc097be876',
'only_matching': True,
}]
- @staticmethod
- def _extract_urls(webpage):
- return re.findall(
- r'''(?x)<iframe[^>]+src=["\']
- (
- https?://(?:embed\.simplecast\.com/[0-9a-f]{8}|
- player\.simplecast\.com/%s
- ))''' % SimplecastBaseIE._UUID_REGEX, webpage)
-
def _real_extract(self, url):
episode_id = self._match_id(url)
episode = self._call_api('episodes/%s', episode_id)
}
def _real_extract(self, url):
- mobj = re.match(self._VALID_URL, url)
+ mobj = self._match_valid_url(url)
episode = self._call_search_api(
'episode', mobj.group(1), mobj.group(0))
return self._parse_episode(episode)