diff options
| -rw-r--r-- | test/test_InfoExtractor.py | 3 | ||||
| -rw-r--r-- | youtube_dl/extractor/common.py | 9 | 
2 files changed, 10 insertions, 2 deletions
| diff --git a/test/test_InfoExtractor.py b/test/test_InfoExtractor.py index 88e8ff904..a98305c74 100644 --- a/test/test_InfoExtractor.py +++ b/test/test_InfoExtractor.py @@ -48,6 +48,9 @@ class TestInfoExtractor(unittest.TestCase):          self.assertEqual(ie._og_search_property('foobar', html), 'Foo')          self.assertEqual(ie._og_search_property('test1', html), 'foo > < bar')          self.assertEqual(ie._og_search_property('test2', html), 'foo >//< bar') +        self.assertEqual(ie._og_search_property(('test0', 'test1'), html), 'foo > < bar') +        self.assertRaises(RegexNotFoundError, ie._og_search_property, 'test0', html, None, fatal=True) +        self.assertRaises(RegexNotFoundError, ie._og_search_property, ('test0', 'test00'), html, None, fatal=True)      def test_html_search_meta(self):          ie = self.ie diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 53c28f016..3b6a5491d 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -727,9 +727,14 @@ class InfoExtractor(object):                      [^>]+?content=(["\'])(?P<content>.*?)\2''' % re.escape(prop)      def _og_search_property(self, prop, html, name=None, **kargs): +        if not isinstance(prop, (list, tuple)): +            prop = [prop]          if name is None: -            name = 'OpenGraph %s' % prop -        escaped = self._search_regex(self._og_regexes(prop), html, name, flags=re.DOTALL, **kargs) +            name = 'OpenGraph %s' % prop[0] +        og_regexes = [] +        for p in prop: +            og_regexes.extend(self._og_regexes(p)) +        escaped = self._search_regex(og_regexes, html, name, flags=re.DOTALL, **kargs)          if escaped is None:              return None          return unescapeHTML(escaped) | 
