| 
					
				 | 
			
			
				@@ -13,6 +13,7 @@ from ..compat import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     compat_urllib_parse_urlparse, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     compat_urlparse, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     compat_xml_parse_error, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compat_HTTPError, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from ..utils import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     determine_ext, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -424,7 +425,7 @@ class BrightcoveNewIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </video>.*? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <script[^>]+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         src=["\'](?:https?:)?//players\.brightcove\.net/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        (\d+)/([\da-f-]+)_([^/]+)/index\.min\.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        (\d+)/([\da-f-]+)_([^/]+)/index(?:\.min)?\.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ''', webpage): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             entries.append( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'http://players.brightcove.net/%s/%s_%s/index.html?videoId=%s' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -458,7 +459,13 @@ class BrightcoveNewIE(InfoExtractor): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'https://edge.api.brightcove.com/playback/v1/accounts/%s/videos/%s' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             % (account_id, video_id), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers={'Accept': 'application/json;pk=%s' % policy_key}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        json_data = self._download_json(req, video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            json_data = self._download_json(req, video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                raise ExtractorError(json_data[0]['message'], expected=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         title = json_data['name'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |