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 | |
| parent | 7efc1c2b493aa1d68e5f1b248980144bbacf943a (diff) | |
[extractor/common] Add _remove_duplicate_formats
| -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 | 
