From be50054bb6b5169037e1b30968bcdcdbe3bcbede Mon Sep 17 00:00:00 2001 From: df Date: Wed, 14 Oct 2020 11:47:40 +0000 Subject: [PATCH] Try all possible mediaselectors even if one succeeds Simplify and correct --- youtube_dl/extractor/bbc.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/youtube_dl/extractor/bbc.py b/youtube_dl/extractor/bbc.py index 94043b323..366078f0a 100644 --- a/youtube_dl/extractor/bbc.py +++ b/youtube_dl/extractor/bbc.py @@ -350,6 +350,8 @@ class BBCCoUkIE(InfoExtractor): def _download_media_selector(self, programme_id): last_exception = None + formats = [] + subtitles = None for mediaselector_url in self._MEDIASELECTOR_URLS: try: formatsAndSubtitles = self._download_media_selector_url( @@ -359,12 +361,10 @@ class BBCCoUkIE(InfoExtractor): formats += formatsAndSubtitles[0] # subtitles (dict {lang,sttl}) if formatsAndSubtitles[1]: - if not subtitles: - subtitles = formatsAndSubtitles[1] - else: + if subtitles: # prioritise the first sttl for each lang formatsAndSubtitles[1].update(subtitles) - subtitles = formatsAndSubtitles[1] + subtitles = formatsAndSubtitles[1] except BBCCoUkIE.MediaSelectionError as e: if e.id in ('notukerror', 'geolocation', 'selectionunavailable'): last_exception = e