From: Jaime Marquínez Ferrándiz Date: Mon, 3 Aug 2015 21:04:11 +0000 (+0200) Subject: YoutubeDL: format spec: don't accept a bare '/' (#6124) X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=d96d604e5311628ece0234733dbbfe73a58c8d18;hp=e704f87f869b98bbed56d7dd0fe27710306c8272;p=youtube-dl YoutubeDL: format spec: don't accept a bare '/' (#6124) --- diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py index 20f45f439..9a3c28f8c 100644 --- a/test/test_YoutubeDL.py +++ b/test/test_YoutubeDL.py @@ -311,6 +311,7 @@ class TestFormatSelection(unittest.TestCase): assert_syntax_error('bestvideo,,best') assert_syntax_error('+bestaudio') assert_syntax_error('bestvideo+') + assert_syntax_error('/') def test_format_filtering(self): formats = [ diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index efa3254ce..c608ff91a 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -960,6 +960,8 @@ class YoutubeDL(object): selectors.append(current_selector) current_selector = None elif string == '/': + if not current_selector: + raise syntax_error('"/" must follow a format selector', start) first_choice = current_selector second_choice = _parse_format_selection(tokens, inside_choice=True) current_selector = FormatSelector(PICKFIRST, (first_choice, second_choice), [])