diff options
author | Benjamin Congdon <bencongdon96@gmail.com> | 2016-03-11 09:31:35 -0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-03-13 15:54:34 +0600 |
commit | 8e4aa7bf18af4403bf98742270483f3b9cfbdeb6 (patch) | |
tree | 9dd83f6c35102d33b46b3b596f7ef934664e8b82 /youtube_dl/extractor/bbc.py | |
parent | a42dfa629eccf4fc3c2a8d74b8d753a607c0fb25 (diff) |
[bbc] Fix BBC Extractor to work with 'School Report'
Diffstat (limited to 'youtube_dl/extractor/bbc.py')
-rw-r--r-- | youtube_dl/extractor/bbc.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/youtube_dl/extractor/bbc.py b/youtube_dl/extractor/bbc.py index 9d0dfb961..f4d8b4a2f 100644 --- a/youtube_dl/extractor/bbc.py +++ b/youtube_dl/extractor/bbc.py @@ -10,7 +10,6 @@ from ..utils import ( int_or_none, parse_duration, parse_iso8601, - remove_end, unescapeHTML, ) from ..compat import ( @@ -796,9 +795,15 @@ class BBCIE(BBCCoUkIE): entries.append(self._extract_from_playlist_sxml( playlist.get('progressiveDownloadUrl'), playlist_id, timestamp)) + playlist_title = self._og_search_title(webpage, default=None) + playlist_title = playlist_title or self._html_search_regex( + r'<title>(.*?)</title>', webpage, 'playlist title') + + playlist_title = self._search_regex(r'(.+)\s*-\s*BBC', playlist_title, 'title', default=playlist_title) + + playlist_description = self._og_search_description(webpage, default=None) + if entries: - playlist_title = playlist_title or remove_end(self._og_search_title(webpage), ' - BBC News') - playlist_description = playlist_description or self._og_search_description(webpage, default=None) return self.playlist_result(entries, playlist_id, playlist_title, playlist_description) # single video story (e.g. http://www.bbc.com/travel/story/20150625-sri-lankas-spicy-secret) @@ -829,10 +834,6 @@ class BBCIE(BBCCoUkIE): 'subtitles': subtitles, } - playlist_title = self._html_search_regex( - r'<title>(.*?)(?:\s*-\s*BBC [^ ]+)?</title>', webpage, 'playlist title') - playlist_description = self._og_search_description(webpage, default=None) - def extract_all(pattern): return list(filter(None, map( lambda s: self._parse_json(s, playlist_id, fatal=False), |