This commit is contained in:
gfabiano 2017-10-06 22:04:45 +02:00
parent dcbe7b25f5
commit d193805c8c

View File

@ -438,7 +438,7 @@ class PBSIE(InfoExtractor):
] ]
media_id = self._search_regex( media_id = self._search_regex(
MEDIA_ID_REGEXES, webpage, 'media ID', fatal=False, default=None) MEDIA_ID_REGEXES, webpage, 'media ID', default=None)
if media_id: if media_id:
return media_id, presumptive_id, upload_date, description return media_id, presumptive_id, upload_date, description
@ -446,25 +446,20 @@ class PBSIE(InfoExtractor):
[r'<(?:section|div)[^>]+data-coveid="([^"]+)"', [r'<(?:section|div)[^>]+data-coveid="([^"]+)"',
r'<input[^>]+id\s*=\s*"pbs_video_id_[0-9]+"\s*value="([^"]+)"[^>]*>', r'<input[^>]+id\s*=\s*"pbs_video_id_[0-9]+"\s*value="([^"]+)"[^>]*>',
], ],
webpage, 'media ID', fatal=False, default=None) webpage, 'media ID', default=None)
if media_id: if media_id:
player = self._download_webpage( return self._extract_webpage(
urljoin('http://player.pbs.org/partnerplayer/', media_id), 'http://player.pbs.org/partnerplayer/%s/' % media_id
display_id, 'Downloading partnerplayer page', fatal=False) )[0], presumptive_id, upload_date, description
jwSettings = self._parse_json( jwSettings = self._parse_json(
self._search_regex( self._search_regex(
r'(?s)jwSettings\s*=\s*({.+?});', r'(?s)jwSettings\s*=\s*({.+?});',
player, 'jwSetting data', default='{}'), webpage or '', 'jwSetting data', default='{}'),
presumptive_id, transform_source=js_to_json, fatal=False) presumptive_id, transform_source=js_to_json, fatal=False)
if jwSettings and jwSettings.get('videoId'): if jwSettings and jwSettings.get('videoId'):
return jwSettings['videoId'], presumptive_id, upload_date, description return jwSettings['videoId'], presumptive_id, upload_date, description
media_id = self._search_regex(
MEDIA_ID_REGEXES, player, 'media ID', fatal=False, default=None)
if media_id:
return media_id, presumptive_id, upload_date, description
# Fronline video embedded via flp # Fronline video embedded via flp
video_id = self._search_regex( video_id = self._search_regex(
r'videoid\s*:\s*"([\d+a-z]{7,})"', webpage, 'videoid', default=None) r'videoid\s*:\s*"([\d+a-z]{7,})"', webpage, 'videoid', default=None)
@ -534,7 +529,7 @@ class PBSIE(InfoExtractor):
chapters = [] chapters = []
# Player pages may also serve different qualities # Player pages may also serve different qualities
for page in ('widget/partnerplayer', 'portalplayer', 'viralplayer'): for page in ('widget/partnerplayer', 'portalplayer'):
player = self._download_webpage( player = self._download_webpage(
'http://player.pbs.org/%s/%s' % (page, video_id), 'http://player.pbs.org/%s/%s' % (page, video_id),
display_id, 'Downloading %s page' % page, fatal=False) display_id, 'Downloading %s page' % page, fatal=False)