mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[youku] better error handling
blocked videos used to cause death by TypeError, now we report what the server says
This commit is contained in:
		 tewe
					tewe
				
			
				
					committed by
					
						 Jaime Marquínez Ferrándiz
						Jaime Marquínez Ferrándiz
					
				
			
			
				
	
			
			
			 Jaime Marquínez Ferrándiz
						Jaime Marquínez Ferrándiz
					
				
			
						parent
						
							b00ca882a4
						
					
				
				
					commit
					4a2080e407
				
			| @@ -66,6 +66,12 @@ class YoukuIE(InfoExtractor): | ||||
|         self.report_extraction(video_id) | ||||
|         try: | ||||
|             config = json.loads(jsondata) | ||||
|             error_code = config['data'][0].get('error_code') | ||||
|             if error_code: | ||||
|                 # -8 means blocked outside China. | ||||
|                 error = config['data'][0].get('error')  # Chinese and English, separated by newline. | ||||
|                 raise ExtractorError(error or u'Server reported error %i' % error_code, | ||||
|                     expected=True) | ||||
|  | ||||
|             video_title =  config['data'][0]['title'] | ||||
|             seed = config['data'][0]['seed'] | ||||
| @@ -89,6 +95,7 @@ class YoukuIE(InfoExtractor): | ||||
|  | ||||
|             fileid = config['data'][0]['streamfileids'][format] | ||||
|             keys = [s['k'] for s in config['data'][0]['segs'][format]] | ||||
|             # segs is usually a dictionary, but an empty *list* if an error occured. | ||||
|         except (UnicodeDecodeError, ValueError, KeyError): | ||||
|             raise ExtractorError(u'Unable to extract info section') | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user