Переглянути джерело

GenericIE: detect more Brightcove videos

In some sites "class" contains more that BrightcoveExperience
Jaime Marquínez Ferrándiz 12 роки тому
батько
коміт
117adb0f0f
2 змінених файлів з 2 додано та 2 видалено
  1. 1 1
      youtube_dl/extractor/brightcove.py
  2. 1 1
      youtube_dl/extractor/generic.py

+ 1 - 1
youtube_dl/extractor/brightcove.py

@@ -22,7 +22,7 @@ class BrightcoveIE(InfoExtractor):
         <object class="BrightcoveExperience">{params}</object>
         <object class="BrightcoveExperience">{params}</object>
         """
         """
         object_doc = xml.etree.ElementTree.fromstring(object_str)
         object_doc = xml.etree.ElementTree.fromstring(object_str)
-        assert object_doc.attrib['class'] == u'BrightcoveExperience'
+        assert u'BrightcoveExperience' in object_doc.attrib['class']
         params = {'flashID': object_doc.attrib['id'],
         params = {'flashID': object_doc.attrib['id'],
                   'playerID': object_doc.find('./param[@name="playerID"]').attrib['value'],
                   'playerID': object_doc.find('./param[@name="playerID"]').attrib['value'],
                   }
                   }

+ 1 - 1
youtube_dl/extractor/generic.py

@@ -120,7 +120,7 @@ class GenericIE(InfoExtractor):
 
 
         self.report_extraction(video_id)
         self.report_extraction(video_id)
         # Look for BrigthCove:
         # Look for BrigthCove:
-        m_brightcove = re.search(r'<object.+?class="BrightcoveExperience".+?</object>', webpage, re.DOTALL)
+        m_brightcove = re.search(r'<object.+?class=".*?BrightcoveExperience.*?".+?</object>', webpage, re.DOTALL)
         if m_brightcove is not None:
         if m_brightcove is not None:
             self.to_screen(u'Brightcove video detected.')
             self.to_screen(u'Brightcove video detected.')
             bc_url = BrightcoveIE._build_brighcove_url(m_brightcove.group())
             bc_url = BrightcoveIE._build_brighcove_url(m_brightcove.group())