commit: cd6fc19ed76af6687fb2cb5f87d9ed4c3071c203
parent 86a15ed64b410336b2145f4a6b8e8a22cbf24f51
Author: Sergey M․ <dstftw@gmail.com>
Date: Fri, 6 Oct 2017 23:46:57 +0700
[YoutubeDL] Ignore duplicates in --playlist-items
E.g. '--playlist-items 2-4,3-4,3' should result in '[2,3,4]', not '[2,3,4,3,4,3]'
Diffstat:
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py
@@ -773,6 +773,9 @@ class TestYoutubeDL(unittest.TestCase):
result = get_ids({'playlist_items': '3-10'})
self.assertEqual(result, [3, 4])
+ result = get_ids({'playlist_items': '2-4,3-4,3'})
+ self.assertEqual(result, [2, 3, 4])
+
def test_urlopen_no_file_protocol(self):
# see https://github.com/rg3/youtube-dl/issues/8227
ydl = YDL()
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
@@ -65,6 +65,7 @@ from .utils import (
locked_file,
make_HTTPS_handler,
MaxDownloadsReached,
+ orderedSet,
PagedList,
parse_filesize,
PerRequestProxyHandler,
@@ -908,7 +909,7 @@ class YoutubeDL(object):
yield int(item)
else:
yield int(string_segment)
- playlistitems = iter_playlistitems(playlistitems_str)
+ playlistitems = orderedSet(iter_playlistitems(playlistitems_str))
ie_entries = ie_result['entries']