Sergey M․
6 years ago
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D
2 changed files with
14 additions and
4 deletions
-
youtube_dl/extractor/brightcove.py
-
youtube_dl/extractor/generic.py
|
|
@ -690,10 +690,17 @@ class BrightcoveNewIE(AdobePassIE): |
|
|
|
webpage, 'policy key', group='pk') |
|
|
|
|
|
|
|
api_url = 'https://edge.api.brightcove.com/playback/v1/accounts/%s/videos/%s' % (account_id, video_id) |
|
|
|
try: |
|
|
|
json_data = self._download_json(api_url, video_id, headers={ |
|
|
|
'Accept': 'application/json;pk=%s' % policy_key |
|
|
|
headers = { |
|
|
|
'Accept': 'application/json;pk=%s' % policy_key, |
|
|
|
} |
|
|
|
referrer = smuggled_data.get('referrer') |
|
|
|
if referrer: |
|
|
|
headers.update({ |
|
|
|
'Referer': referrer, |
|
|
|
'Origin': re.search(r'https?://[^/]+', referrer).group(0), |
|
|
|
}) |
|
|
|
try: |
|
|
|
json_data = self._download_json(api_url, video_id, headers=headers) |
|
|
|
except ExtractorError as e: |
|
|
|
if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403: |
|
|
|
json_data = self._parse_json(e.cause.read().decode(), video_id)[0] |
|
|
|
|
|
@ -2280,7 +2280,10 @@ class GenericIE(InfoExtractor): |
|
|
|
# Look for Brightcove New Studio embeds |
|
|
|
bc_urls = BrightcoveNewIE._extract_urls(self, webpage) |
|
|
|
if bc_urls: |
|
|
|
return self.playlist_from_matches(bc_urls, video_id, video_title, ie='BrightcoveNew') |
|
|
|
return self.playlist_from_matches( |
|
|
|
bc_urls, video_id, video_title, |
|
|
|
getter=lambda x: smuggle_url(x, {'referrer': url}), |
|
|
|
ie='BrightcoveNew') |
|
|
|
|
|
|
|
# Look for Nexx embeds |
|
|
|
nexx_urls = NexxIE._extract_urls(webpage) |
|
|
|