Merge pull request #8346 from dyn888/dyn888-regex-1
authorYen Chi Hsuan <yan12125@gmail.com>
Thu, 28 Jan 2016 14:22:43 +0000 (22:22 +0800)
committerYen Chi Hsuan <yan12125@gmail.com>
Thu, 28 Jan 2016 14:22:43 +0000 (22:22 +0800)
Regex pattern update to match more codecs (fixes #6858)

test/test_YoutubeDL.py
youtube_dl/YoutubeDL.py

index 0caa43843ad4c8b3cf3a8bb117b8a2ec2a09f877..b53cfbe78295b2ceac0d55072efe88d9842dc856 100644 (file)
@@ -221,6 +221,16 @@ class TestFormatSelection(unittest.TestCase):
         downloaded = ydl.downloaded_info_dicts[0]
         self.assertEqual(downloaded['format_id'], 'dash-video-low')
 
+        formats = [
+            {'format_id': 'vid-vcodec-dot', 'ext': 'mp4', 'preference': 1, 'vcodec': 'avc1.123456', 'acodec': 'none', 'url': TEST_URL},
+        ]
+        info_dict = _make_result(formats)
+
+        ydl = YDL({'format': 'bestvideo[vcodec=avc1.123456]'})
+        ydl.process_ie_result(info_dict.copy())
+        downloaded = ydl.downloaded_info_dicts[0]
+        self.assertEqual(downloaded['format_id'], 'vid-vcodec-dot')
+
     def test_youtube_format_selection(self):
         order = [
             '38', '37', '46', '22', '45', '35', '44', '18', '34', '43', '6', '5', '36', '17', '13',
index 09d2b18f262690023598dcc0aacf0628729a9c79..e1bd408431b0b6b5c16b0a208dbec5ad198dfc4f 100755 (executable)
@@ -906,7 +906,7 @@ class YoutubeDL(object):
             str_operator_rex = re.compile(r'''(?x)
                 \s*(?P<key>ext|acodec|vcodec|container|protocol)
                 \s*(?P<op>%s)(?P<none_inclusive>\s*\?)?
-                \s*(?P<value>[a-zA-Z0-9_-]+)
+                \s*(?P<value>[a-zA-Z0-9._-]+)
                 \s*$
                 ''' % '|'.join(map(re.escape, STR_OPERATORS.keys())))
             m = str_operator_rex.search(filter_spec)