diff options
Diffstat (limited to 'youtube_dl/YoutubeDL.py')
| -rwxr-xr-x | youtube_dl/YoutubeDL.py | 43 | 
1 files changed, 22 insertions, 21 deletions
| diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index eaba40bf2..a1713dc5a 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -809,28 +809,29 @@ class YoutubeDL(object):          if req_format in ('-1', 'all'):              formats_to_download = formats          else: -            # We can accept formats requested in the format: 34/5/best, we pick -            # the first that is available, starting from left -            req_formats = req_format.split('/') -            for rf in req_formats: -                if re.match(r'.+?\+.+?', rf) is not None: -                    # Two formats have been requested like '137+139' -                    format_1, format_2 = rf.split('+') -                    formats_info = (self.select_format(format_1, formats), -                        self.select_format(format_2, formats)) -                    if all(formats_info): -                        selected_format = { -                            'requested_formats': formats_info, -                            'format': rf, -                            'ext': formats_info[0]['ext'], -                        } +            for rfstr in req_format.split(','): +                # We can accept formats requested in the format: 34/5/best, we pick +                # the first that is available, starting from left +                req_formats = rfstr.split('/') +                for rf in req_formats: +                    if re.match(r'.+?\+.+?', rf) is not None: +                        # Two formats have been requested like '137+139' +                        format_1, format_2 = rf.split('+') +                        formats_info = (self.select_format(format_1, formats), +                            self.select_format(format_2, formats)) +                        if all(formats_info): +                            selected_format = { +                                'requested_formats': formats_info, +                                'format': rf, +                                'ext': formats_info[0]['ext'], +                            } +                        else: +                            selected_format = None                      else: -                        selected_format = None -                else: -                    selected_format = self.select_format(rf, formats) -                if selected_format is not None: -                    formats_to_download = [selected_format] -                    break +                        selected_format = self.select_format(rf, formats) +                    if selected_format is not None: +                        formats_to_download.append(selected_format) +                        break          if not formats_to_download:              raise ExtractorError('requested format not available',                                   expected=True) | 
