1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2026-02-20 15:35:44 +00:00

[ie/tele5] Fix extractor (#16005)

Closes #16003
Authored by: bashonly
This commit is contained in:
bashonly
2026-02-19 17:53:53 -06:00
committed by GitHub
parent c7945800e4
commit 772559e3db

View File

@@ -9,39 +9,39 @@ class Tele5IE(DiscoveryPlusBaseIE):
_VALID_URL = r'https?://(?:www\.)?tele5\.de/(?P<parent_slug>[\w-]+)/(?P<slug_a>[\w-]+)(?:/(?P<slug_b>[\w-]+))?'
_TESTS = [{
# slug_a and slug_b
'url': 'https://tele5.de/mediathek/stargate-atlantis/quarantane',
'url': 'https://tele5.de/mediathek/star-trek-enterprise/vox-sola',
'info_dict': {
'id': '6852024',
'id': '4140114',
'ext': 'mp4',
'title': 'Quarantäne',
'description': 'md5:6af0373bd0fcc4f13e5d47701903d675',
'episode': 'Episode 73',
'episode_number': 73,
'season': 'Season 4',
'season_number': 4,
'series': 'Stargate Atlantis',
'upload_date': '20240525',
'timestamp': 1716643200,
'duration': 2503.2,
'thumbnail': 'https://eu1-prod-images.disco-api.com/2024/05/21/c81fcb45-8902-309b-badb-4e6d546b575d.jpeg',
'creators': ['Tele5'],
'title': 'Vox Sola',
'description': 'md5:329d115f74324d4364efc1a11c4ea7c9',
'duration': 2542.76,
'thumbnail': r're:https://[^/.]+\.disco-api\.com/.+\.jpe?g',
'tags': [],
'creators': ['Tele5'],
'series': 'Star Trek - Enterprise',
'season': 'Season 1',
'season_number': 1,
'episode': 'Episode 22',
'episode_number': 22,
'timestamp': 1770491100,
'upload_date': '20260207',
},
}, {
# only slug_a
'url': 'https://tele5.de/mediathek/inside-out',
'url': 'https://tele5.de/mediathek/30-miles-from-nowhere-im-wald-hoert-dich-niemand-schreien',
'info_dict': {
'id': '6819502',
'id': '4102641',
'ext': 'mp4',
'title': 'Inside out',
'description': 'md5:7e5f32ed0be5ddbd27713a34b9293bfd',
'series': 'Inside out',
'upload_date': '20240523',
'timestamp': 1716494400,
'duration': 5343.4,
'thumbnail': 'https://eu1-prod-images.disco-api.com/2024/05/15/181eba3c-f9f0-3faf-b14d-0097050a3aa4.jpeg',
'creators': ['Tele5'],
'title': '30 Miles from Nowhere - Im Wald hört dich niemand schreien',
'description': 'md5:0b731539f39ee186ebcd9dd444a86fc2',
'duration': 4849.96,
'thumbnail': r're:https://[^/.]+\.disco-api\.com/.+\.jpe?g',
'tags': [],
'creators': ['Tele5'],
'series': '30 Miles from Nowhere - Im Wald hört dich niemand schreien',
'timestamp': 1770417300,
'upload_date': '20260206',
},
}, {
# playlist
@@ -50,20 +50,27 @@ class Tele5IE(DiscoveryPlusBaseIE):
'id': 'mediathek-schlefaz',
},
'playlist_mincount': 3,
'skip': 'Dead link',
}]
def _real_extract(self, url):
parent_slug, slug_a, slug_b = self._match_valid_url(url).group('parent_slug', 'slug_a', 'slug_b')
playlist_id = join_nonempty(parent_slug, slug_a, slug_b, delim='-')
query = {'environment': 'tele5', 'v': '2'}
query = {
'include': 'default',
'filter[environment]': 'tele5',
'v': '2',
}
if not slug_b:
endpoint = f'page/{slug_a}'
query['parent_slug'] = parent_slug
else:
endpoint = f'videos/{slug_b}'
query['filter[show.slug]'] = slug_a
cms_data = self._download_json(f'https://de-api.loma-cms.com/feloma/{endpoint}/', playlist_id, query=query)
endpoint = f'shows/{slug_a}'
query['filter[video.slug]'] = slug_b
cms_data = self._download_json(f'https://public.aurora.enhanced.live/site/{endpoint}/', playlist_id, query=query)
return self.playlist_result(map(
functools.partial(self._get_disco_api_info, url, disco_host='eu1-prod.disco-api.com', realm='dmaxde', country='DE'),