1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-09-16 07:42:24 +02:00

[brightcove] Fix extraction of embedded videos

There was a leading ‘:’ in the regex.
The ‘flashvars’ parameter is not always available.
This commit is contained in:
Jaime Marquínez Ferrándiz 2014-01-21 22:04:46 +01:00
parent d614aa40e3
commit 47917f24c4

View File

@ -90,9 +90,12 @@ def _build_brighcove_url(cls, object_str):
object_doc = xml.etree.ElementTree.fromstring(object_str) object_doc = xml.etree.ElementTree.fromstring(object_str)
fv_el = find_xpath_attr(object_doc, './param', 'name', 'flashVars') fv_el = find_xpath_attr(object_doc, './param', 'name', 'flashVars')
flashvars = dict( if fv_el is not None:
(k, v[0]) flashvars = dict(
for k, v in compat_parse_qs(fv_el.attrib['value']).items()) (k, v[0])
for k, v in compat_parse_qs(fv_el.attrib['value']).items())
else:
flashvars = {}
def find_param(name): def find_param(name):
if name in flashvars: if name in flashvars:
@ -131,7 +134,7 @@ def _extract_brightcove_url(cls, webpage):
m_brightcove = re.search( m_brightcove = re.search(
r'''(?sx)<object r'''(?sx)<object
(?: (?:
:[^>]+?class=([\'"])[^>]*?BrightcoveExperience.*?\1 | [^>]+?class=([\'"])[^>]*?BrightcoveExperience.*?\1 |
[^>]*?>\s*<param\s+name="movie"\s+value="https?://[^/]*brightcove\.com/ [^>]*?>\s*<param\s+name="movie"\s+value="https?://[^/]*brightcove\.com/
).+?</object>''', ).+?</object>''',
webpage) webpage)