logo

youtube-dl

[mirror] Download/Watch videos from video hostersgit clone https://hacktivis.me/git/mirror/youtube-dl.git
commit: d81a213cfb66f6e3175980d763318bd81e31be02
parent 7c2d18a13f7eaa4008923ad73ed8e938229db848
Author: Sergey M․ <dstftw@gmail.com>
Date:   Thu, 14 Jan 2021 00:37:51 +0700

[YoutubeDL] Raise syntax error for format selection expressions with multiple + operators (closes #27803)

Diffstat:

Mtest/test_YoutubeDL.py1+
Myoutube_dl/YoutubeDL.py2++
2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py @@ -464,6 +464,7 @@ class TestFormatSelection(unittest.TestCase): assert_syntax_error('+bestaudio') assert_syntax_error('bestvideo+') assert_syntax_error('/') + assert_syntax_error('bestvideo+bestvideo+bestaudio') def test_format_filtering(self): formats = [ diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py @@ -1226,6 +1226,8 @@ class YoutubeDL(object): group = _parse_format_selection(tokens, inside_group=True) current_selector = FormatSelector(GROUP, group, []) elif string == '+': + if inside_merge: + raise syntax_error('Unexpected "+"', start) video_selector = current_selector audio_selector = _parse_format_selection(tokens, inside_merge=True) if not video_selector or not audio_selector: