Browse Source

[brightcove] Fix extraction of embedded videos

There was a leading ‘:’ in the regex.
The ‘flashvars’ parameter is not always available.
master
Jaime Marquínez Ferrándiz 11 years ago
parent
commit
47917f24c4
1 changed files with 7 additions and 4 deletions
  1. 11
      youtube_dl/extractor/brightcove.py

11
youtube_dl/extractor/brightcove.py

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

Loading…
Cancel
Save