projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
0164cd5
)
[brightcove] invalidate policy key cache on failing requests
author
Remita Amine
<remitamine@gmail.com>
Tue, 31 Dec 2019 18:48:40 +0000
(19:48 +0100)
committer
Remita Amine
<remitamine@gmail.com>
Tue, 31 Dec 2019 18:49:01 +0000
(19:49 +0100)
youtube_dl/extractor/brightcove.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/brightcove.py
b/youtube_dl/extractor/brightcove.py
index 5e0c4bc3eb584d4571e2e29b3034a8aeab3102fb..85001b3ad3cf100d093a16806085b02fa5933d5a 100644
(file)
--- a/
youtube_dl/extractor/brightcove.py
+++ b/
youtube_dl/extractor/brightcove.py
@@
-589,6
+589,7
@@
class BrightcoveNewIE(AdobePassIE):
policy_key_id = '%s_%s' % (account_id, player_id)
policy_key = self._downloader.cache.load('brightcove', policy_key_id)
policy_key_extracted = False
policy_key_id = '%s_%s' % (account_id, player_id)
policy_key = self._downloader.cache.load('brightcove', policy_key_id)
policy_key_extracted = False
+ store_pk = lambda x: self._downloader.cache.store('brightcove', policy_key_id, x)
def extract_policy_key():
webpage = self._download_webpage(
def extract_policy_key():
webpage = self._download_webpage(
@@
-610,7
+611,7
@@
class BrightcoveNewIE(AdobePassIE):
r'policyKey\s*:\s*(["\'])(?P<pk>.+?)\1',
webpage, 'policy key', group='pk')
r'policyKey\s*:\s*(["\'])(?P<pk>.+?)\1',
webpage, 'policy key', group='pk')
- s
elf._downloader.cache.store('brightcove', policy_key_id,
policy_key)
+ s
tore_pk(
policy_key)
return policy_key
api_url = 'https://edge.api.brightcove.com/playback/v1/accounts/%s/%ss/%s' % (account_id, content_type, video_id)
return policy_key
api_url = 'https://edge.api.brightcove.com/playback/v1/accounts/%s/%ss/%s' % (account_id, content_type, video_id)
@@
-638,6
+639,7
@@
class BrightcoveNewIE(AdobePassIE):
self.raise_geo_restricted(msg=message)
elif json_data.get('error_code') == 'INVALID_POLICY_KEY' and not policy_key_extracted:
policy_key = None
self.raise_geo_restricted(msg=message)
elif json_data.get('error_code') == 'INVALID_POLICY_KEY' and not policy_key_extracted:
policy_key = None
+ store_pk(None)
continue
raise ExtractorError(message, expected=True)
raise
continue
raise ExtractorError(message, expected=True)
raise