aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2014-01-21 22:04:46 +0100
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2014-01-21 22:04:46 +0100
commit47917f24c499f7949b04a23c35459ca69adae62d (patch)
tree196083d10063d2d75497aefabc41b02ccc8f2dd1
parentd614aa40e35825e1cde7c92fc6092d226afe4898 (diff)
downloadyoutube-dl-47917f24c499f7949b04a23c35459ca69adae62d.tar.xz
[brightcove] Fix extraction of embedded videos
There was a leading ‘:’ in the regex. The ‘flashvars’ parameter is not always available.
-rw-r--r--youtube_dl/extractor/brightcove.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py
index e13c040f8..e1c45d1f0 100644
--- a/youtube_dl/extractor/brightcove.py
+++ b/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)