mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[brightcove] cache brightcove player policy keys
This commit is contained in:
		| @@ -586,24 +586,26 @@ class BrightcoveNewIE(AdobePassIE): | |||||||
|  |  | ||||||
|         account_id, player_id, embed, content_type, video_id = re.match(self._VALID_URL, url).groups() |         account_id, player_id, embed, content_type, video_id = re.match(self._VALID_URL, url).groups() | ||||||
|  |  | ||||||
|         webpage = self._download_webpage( |         policy_key_id = '%s_%s' % (account_id, player_id) | ||||||
|             'http://players.brightcove.net/%s/%s_%s/index.min.js' |         policy_key = self._downloader.cache.load('brightcove', policy_key_id) | ||||||
|             % (account_id, player_id, embed), video_id) |  | ||||||
|  |  | ||||||
|         policy_key = None |  | ||||||
|  |  | ||||||
|         catalog = self._search_regex( |  | ||||||
|             r'catalog\(({.+?})\);', webpage, 'catalog', default=None) |  | ||||||
|         if catalog: |  | ||||||
|             catalog = self._parse_json( |  | ||||||
|                 js_to_json(catalog), video_id, fatal=False) |  | ||||||
|             if catalog: |  | ||||||
|                 policy_key = catalog.get('policyKey') |  | ||||||
|  |  | ||||||
|         if not policy_key: |         if not policy_key: | ||||||
|             policy_key = self._search_regex( |             webpage = self._download_webpage( | ||||||
|                 r'policyKey\s*:\s*(["\'])(?P<pk>.+?)\1', |                 'http://players.brightcove.net/%s/%s_%s/index.min.js' | ||||||
|                 webpage, 'policy key', group='pk') |                 % (account_id, player_id, embed), video_id) | ||||||
|  |  | ||||||
|  |             catalog = self._search_regex( | ||||||
|  |                 r'catalog\(({.+?})\);', webpage, 'catalog', default=None) | ||||||
|  |             if catalog: | ||||||
|  |                 catalog = self._parse_json( | ||||||
|  |                     js_to_json(catalog), video_id, fatal=False) | ||||||
|  |                 if catalog: | ||||||
|  |                     policy_key = catalog.get('policyKey') | ||||||
|  |  | ||||||
|  |             if not policy_key: | ||||||
|  |                 policy_key = self._search_regex( | ||||||
|  |                     r'policyKey\s*:\s*(["\'])(?P<pk>.+?)\1', | ||||||
|  |                     webpage, 'policy key', group='pk') | ||||||
|  |             self._downloader.cache.store('brightcove', policy_key_id, policy_key) | ||||||
|  |  | ||||||
|         api_url = 'https://edge.api.brightcove.com/playback/v1/accounts/%s/%ss/%s' % (account_id, content_type, video_id) |         api_url = 'https://edge.api.brightcove.com/playback/v1/accounts/%s/%ss/%s' % (account_id, content_type, video_id) | ||||||
|         headers = { |         headers = { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user