diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-02-22 01:19:39 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-02-22 01:19:39 +0600 |
commit | f5bdb4444338f1462c2bc7f79b4ad7e260fe56a8 (patch) | |
tree | b2e59e7caf290712b1a55493fcccbbd3fa04bb01 /youtube_dl/extractor/common.py | |
parent | 7efc1c2b493aa1d68e5f1b248980144bbacf943a (diff) |
[extractor/common] Add _remove_duplicate_formats
Diffstat (limited to 'youtube_dl/extractor/common.py')
-rw-r--r-- | youtube_dl/extractor/common.py | 10 |
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 |