mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[YoutubeDL] Do not override ie_key in url_transparent
This commit is contained in:
		| @@ -14,6 +14,7 @@ from test.helper import FakeYDL, assertRegexpMatches | ||||
| from youtube_dl import YoutubeDL | ||||
| from youtube_dl.compat import compat_str, compat_urllib_error | ||||
| from youtube_dl.extractor import YoutubeIE | ||||
| from youtube_dl.extractor.common import InfoExtractor | ||||
| from youtube_dl.postprocessor.common import PostProcessor | ||||
| from youtube_dl.utils import ExtractorError, match_filter_func | ||||
|  | ||||
| @@ -646,6 +647,42 @@ class TestYoutubeDL(unittest.TestCase): | ||||
|         ydl = YDL() | ||||
|         self.assertRaises(compat_urllib_error.URLError, ydl.urlopen, 'file:///etc/passwd') | ||||
|  | ||||
|     def test_do_not_override_ie_key_in_url_transparent(self): | ||||
|         ydl = YDL() | ||||
|  | ||||
|         class Foo1IE(InfoExtractor): | ||||
|             _VALID_URL = r'foo1:' | ||||
|  | ||||
|             def _real_extract(self, url): | ||||
|                 return { | ||||
|                     '_type': 'url_transparent', | ||||
|                     'url': 'foo2:', | ||||
|                     'ie_key': 'Foo2', | ||||
|                 } | ||||
|  | ||||
|         class Foo2IE(InfoExtractor): | ||||
|             _VALID_URL = r'foo2:' | ||||
|  | ||||
|             def _real_extract(self, url): | ||||
|                 return { | ||||
|                     '_type': 'url', | ||||
|                     'url': 'foo3:', | ||||
|                     'ie_key': 'Foo3', | ||||
|                 } | ||||
|  | ||||
|         class Foo3IE(InfoExtractor): | ||||
|             _VALID_URL = r'foo3:' | ||||
|  | ||||
|             def _real_extract(self, url): | ||||
|                 return _make_result([{'url': TEST_URL}]) | ||||
|  | ||||
|         ydl.add_info_extractor(Foo1IE(ydl)) | ||||
|         ydl.add_info_extractor(Foo2IE(ydl)) | ||||
|         ydl.add_info_extractor(Foo3IE(ydl)) | ||||
|         ydl.extract_info('foo1:') | ||||
|         downloaded = ydl.downloaded_info_dicts[0] | ||||
|         self.assertEqual(downloaded['url'], TEST_URL) | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
					Yen Chi Hsuan