[YouTubeDL] Throw an early error if the info_dict result is invalid
This commit is contained in:
		@@ -702,6 +702,11 @@ class YoutubeDL(object):
 | 
			
		||||
    def process_video_result(self, info_dict, download=True):
 | 
			
		||||
        assert info_dict.get('_type', 'video') == 'video'
 | 
			
		||||
 | 
			
		||||
        if 'id' not in info_dict:
 | 
			
		||||
            raise ExtractorError('Missing "id" field in extractor result')
 | 
			
		||||
        if 'title' not in info_dict:
 | 
			
		||||
            raise ExtractorError('Missing "title" field in extractor result')
 | 
			
		||||
 | 
			
		||||
        if 'playlist' not in info_dict:
 | 
			
		||||
            # It isn't part of a playlist
 | 
			
		||||
            info_dict['playlist'] = None
 | 
			
		||||
@@ -733,6 +738,9 @@ class YoutubeDL(object):
 | 
			
		||||
 | 
			
		||||
        # We check that all the formats have the format and format_id fields
 | 
			
		||||
        for i, format in enumerate(formats):
 | 
			
		||||
            if 'url' not in format:
 | 
			
		||||
                raise ExtractorError('Missing "url" key in result (index %d)' % i)
 | 
			
		||||
 | 
			
		||||
            if format.get('format_id') is None:
 | 
			
		||||
                format['format_id'] = compat_str(i)
 | 
			
		||||
            if format.get('format') is None:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user