-
-class AZMedienShowIE(AZMedienBaseIE):
- IE_DESC = 'AZ Medien shows'
- _VALID_URL = r'https?://(?:www\.)?(?:telezueri\.ch|telebaern\.tv|telem1\.ch)/(?P<id>[0-9]+-show-[^/#]+(?:/[0-9]+-episode-[^/#]+)?)$'
-
- _TESTS = [{
- # URL with 'episode'
- 'url': 'http://www.telebaern.tv/118-show-news/13735-episode-donnerstag-15-dezember-2016',
- 'info_dict': {
- 'id': '118-show-news/13735-episode-donnerstag-15-dezember-2016',
- 'title': 'News - Donnerstag, 15. Dezember 2016',
- },
- 'playlist_count': 9,
- }, {
- # URL with 'show' only
- 'url': 'http://www.telezueri.ch/86-show-talktaeglich',
- 'only_matching': True
- }]
-
- def _real_extract(self, url):
- show_id = self._match_id(url)
- webpage = self._download_webpage(url, show_id)
-
- entries = []
-
- partner_id = self._search_regex(
- r'src=["\'](?:https?:)?//(?:[^/]+\.)kaltura\.com/(?:[^/]+/)*(?:p|partner_id)/(\d+)',
- webpage, 'kaltura partner id', default=None)
-
- if partner_id:
- entries = [
- self._kaltura_video(partner_id, m.group('id'))
- for m in re.finditer(
- r'data-id=(["\'])(?P<id>(?:(?!\1).)+)\1', webpage)]
-
- if not entries:
- entries = [
- self.url_result(m.group('url'), ie=AZMedienIE.ie_key())
- for m in re.finditer(
- r'<a[^>]+data-real=(["\'])(?P<url>http.+?)\1', webpage)]
-
- title = self._search_regex(
- r'episodeShareTitle\s*=\s*(["\'])(?P<title>(?:(?!\1).)+)\1',
- webpage, 'title',
- default=strip_or_none(get_element_by_class(
- 'title-block-cell', webpage)), group='title')
-
- return self.playlist_result(entries, show_id, title)