mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	Updated to release 2020.11.21.1
This commit is contained in:
		| @@ -37,7 +37,7 @@ | ||||
|     "writeinfojson": true,  | ||||
|     "writesubtitles": false, | ||||
|     "allsubtitles": false, | ||||
|     "listssubtitles": false, | ||||
|     "listsubtitles": false, | ||||
|     "socket_timeout": 20, | ||||
|     "fixup": "never" | ||||
| } | ||||
|   | ||||
| @@ -919,6 +919,76 @@ class TestYoutubeDL(unittest.TestCase): | ||||
|         self.assertEqual(downloaded['extractor'], 'testex') | ||||
|         self.assertEqual(downloaded['extractor_key'], 'TestEx') | ||||
|  | ||||
|     # Test case for https://github.com/ytdl-org/youtube-dl/issues/27064 | ||||
|     def test_ignoreerrors_for_playlist_with_url_transparent_iterable_entries(self): | ||||
|  | ||||
|         class _YDL(YDL): | ||||
|             def __init__(self, *args, **kwargs): | ||||
|                 super(_YDL, self).__init__(*args, **kwargs) | ||||
|  | ||||
|             def trouble(self, s, tb=None): | ||||
|                 pass | ||||
|  | ||||
|         ydl = _YDL({ | ||||
|             'format': 'extra', | ||||
|             'ignoreerrors': True, | ||||
|         }) | ||||
|  | ||||
|         class VideoIE(InfoExtractor): | ||||
|             _VALID_URL = r'video:(?P<id>\d+)' | ||||
|  | ||||
|             def _real_extract(self, url): | ||||
|                 video_id = self._match_id(url) | ||||
|                 formats = [{ | ||||
|                     'format_id': 'default', | ||||
|                     'url': 'url:', | ||||
|                 }] | ||||
|                 if video_id == '0': | ||||
|                     raise ExtractorError('foo') | ||||
|                 if video_id == '2': | ||||
|                     formats.append({ | ||||
|                         'format_id': 'extra', | ||||
|                         'url': TEST_URL, | ||||
|                     }) | ||||
|                 return { | ||||
|                     'id': video_id, | ||||
|                     'title': 'Video %s' % video_id, | ||||
|                     'formats': formats, | ||||
|                 } | ||||
|  | ||||
|         class PlaylistIE(InfoExtractor): | ||||
|             _VALID_URL = r'playlist:' | ||||
|  | ||||
|             def _entries(self): | ||||
|                 for n in range(3): | ||||
|                     video_id = compat_str(n) | ||||
|                     yield { | ||||
|                         '_type': 'url_transparent', | ||||
|                         'ie_key': VideoIE.ie_key(), | ||||
|                         'id': video_id, | ||||
|                         'url': 'video:%s' % video_id, | ||||
|                         'title': 'Video Transparent %s' % video_id, | ||||
|                     } | ||||
|  | ||||
|             def _real_extract(self, url): | ||||
|                 return self.playlist_result(self._entries()) | ||||
|  | ||||
|         ydl.add_info_extractor(VideoIE(ydl)) | ||||
|         ydl.add_info_extractor(PlaylistIE(ydl)) | ||||
|         info = ydl.extract_info('playlist:') | ||||
|         entries = info['entries'] | ||||
|         self.assertEqual(len(entries), 3) | ||||
|         self.assertTrue(entries[0] is None) | ||||
|         self.assertTrue(entries[1] is None) | ||||
|         self.assertEqual(len(ydl.downloaded_info_dicts), 1) | ||||
|         downloaded = ydl.downloaded_info_dicts[0] | ||||
|         self.assertEqual(entries[2], downloaded) | ||||
|         self.assertEqual(downloaded['url'], TEST_URL) | ||||
|         self.assertEqual(downloaded['title'], 'Video Transparent 2') | ||||
|         self.assertEqual(downloaded['id'], '2') | ||||
|         self.assertEqual(downloaded['extractor'], 'Video') | ||||
|         self.assertEqual(downloaded['extractor_key'], 'Video') | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan