|
|
|
@ -816,12 +816,15 @@ class TestYoutubeDL(unittest.TestCase):
|
|
|
|
|
'webpage_url': 'http://example.com',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def get_ids(params):
|
|
|
|
|
def get_downloaded_info_dicts(params):
|
|
|
|
|
ydl = YDL(params)
|
|
|
|
|
# make a deep copy because the dictionary and nested entries
|
|
|
|
|
# can be modified
|
|
|
|
|
ydl.process_ie_result(copy.deepcopy(playlist))
|
|
|
|
|
return [int(v['id']) for v in ydl.downloaded_info_dicts]
|
|
|
|
|
return ydl.downloaded_info_dicts
|
|
|
|
|
|
|
|
|
|
def get_ids(params):
|
|
|
|
|
return [int(v['id']) for v in get_downloaded_info_dicts(params)]
|
|
|
|
|
|
|
|
|
|
result = get_ids({})
|
|
|
|
|
self.assertEqual(result, [1, 2, 3, 4])
|
|
|
|
@ -853,6 +856,22 @@ class TestYoutubeDL(unittest.TestCase):
|
|
|
|
|
result = get_ids({'playlist_items': '2-4,3-4,3'})
|
|
|
|
|
self.assertEqual(result, [2, 3, 4])
|
|
|
|
|
|
|
|
|
|
# Tests for https://github.com/ytdl-org/youtube-dl/issues/10591
|
|
|
|
|
# @{
|
|
|
|
|
result = get_downloaded_info_dicts({'playlist_items': '2-4,3-4,3'})
|
|
|
|
|
self.assertEqual(result[0]['playlist_index'], 2)
|
|
|
|
|
self.assertEqual(result[1]['playlist_index'], 3)
|
|
|
|
|
|
|
|
|
|
result = get_downloaded_info_dicts({'playlist_items': '2-4,3-4,3'})
|
|
|
|
|
self.assertEqual(result[0]['playlist_index'], 2)
|
|
|
|
|
self.assertEqual(result[1]['playlist_index'], 3)
|
|
|
|
|
self.assertEqual(result[2]['playlist_index'], 4)
|
|
|
|
|
|
|
|
|
|
result = get_downloaded_info_dicts({'playlist_items': '4,2'})
|
|
|
|
|
self.assertEqual(result[0]['playlist_index'], 4)
|
|
|
|
|
self.assertEqual(result[1]['playlist_index'], 2)
|
|
|
|
|
# @}
|
|
|
|
|
|
|
|
|
|
def test_urlopen_no_file_protocol(self):
|
|
|
|
|
# see https://github.com/ytdl-org/youtube-dl/issues/8227
|
|
|
|
|
ydl = YDL()
|
|
|
|
|