aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2016-02-22 01:19:39 +0600
committerSergey M․ <dstftw@gmail.com>2016-02-22 01:19:39 +0600
commitf5bdb4444338f1462c2bc7f79b4ad7e260fe56a8 (patch)
treeb2e59e7caf290712b1a55493fcccbbd3fa04bb01 /youtube_dl
parent7efc1c2b493aa1d68e5f1b248980144bbacf943a (diff)
downloadyoutube-dl-f5bdb4444338f1462c2bc7f79b4ad7e260fe56a8.tar.xz
[extractor/common] Add _remove_duplicate_formats
Diffstat (limited to 'youtube_dl')
-rw-r--r--youtube_dl/extractor/common.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py
index c85dcda0c..14f575635 100644
--- a/youtube_dl/extractor/common.py
+++ b/youtube_dl/extractor/common.py
@@ -900,6 +900,16 @@ class InfoExtractor(object):
item='%s video format' % f.get('format_id') if f.get('format_id') else 'video'),
formats)
+ @staticmethod
+ def _remove_duplicate_formats(formats):
+ format_urls = set()
+ unique_formats = []
+ for f in formats:
+ if f['url'] not in format_urls:
+ format_urls.add(f['url'])
+ unique_formats.append(f)
+ formats[:] = unique_formats
+
def _is_valid_url(self, url, video_id, item='video'):
url = self._proto_relative_url(url, scheme='http:')
# For now assume non HTTP(S) URLs always valid