projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[soundcloud:pagedplaylist] Improve (closes #19086)
[youtube-dl]
/
youtube_dl
/
extractor
/
cbc.py
diff --git
a/youtube_dl/extractor/cbc.py
b/youtube_dl/extractor/cbc.py
index ce8e3d346b56f4b3b48b789723324d06607b2ea6..43f95c739deed7e497b2d85b23393c24f0f5c864 100644
(file)
--- a/
youtube_dl/extractor/cbc.py
+++ b/
youtube_dl/extractor/cbc.py
@@
-17,6
+17,7
@@
from ..utils import (
xpath_element,
xpath_with_ns,
find_xpath_attr,
xpath_element,
xpath_with_ns,
find_xpath_attr,
+ orderedSet,
parse_duration,
parse_iso8601,
parse_age_limit,
parse_duration,
parse_iso8601,
parse_age_limit,
@@
-136,9
+137,15
@@
class CBCIE(InfoExtractor):
entries = [
self._extract_player_init(player_init, display_id)
for player_init in re.findall(r'CBC\.APP\.Caffeine\.initInstance\(({.+?})\);', webpage)]
entries = [
self._extract_player_init(player_init, display_id)
for player_init in re.findall(r'CBC\.APP\.Caffeine\.initInstance\(({.+?})\);', webpage)]
+ media_ids = []
+ for media_id_re in (
+ r'<iframe[^>]+src="[^"]+?mediaId=(\d+)"',
+ r'<div[^>]+\bid=["\']player-(\d+)',
+ r'guid["\']\s*:\s*["\'](\d+)'):
+ media_ids.extend(re.findall(media_id_re, webpage))
entries.extend([
self.url_result('cbcplayer:%s' % media_id, 'CBCPlayer', media_id)
entries.extend([
self.url_result('cbcplayer:%s' % media_id, 'CBCPlayer', media_id)
- for media_id in
re.findall(r'<iframe[^>]+src="[^"]+?mediaId=(\d+)"', webpage
)])
+ for media_id in
orderedSet(media_ids
)])
return self.playlist_result(
entries, display_id, strip_or_none(title),
self._og_search_description(webpage))
return self.playlist_result(
entries, display_id, strip_or_none(title),
self._og_search_description(webpage))