X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fbrightcove.py;h=031fe385d906dd8f4a53f8440955d325e5b0add1;hb=bb1cd2bea1aa36bdcc0a194ba546ccc62757d4c5;hp=9ccf923a63fbd59b098f2e0edb15c025c5d0b602;hpb=c0c2ddddcdbc524c04437e73b5b3f8220393aaa4;p=youtube-dl diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py index 9ccf923a6..031fe385d 100644 --- a/youtube_dl/extractor/brightcove.py +++ b/youtube_dl/extractor/brightcove.py @@ -127,25 +127,28 @@ class BrightcoveIE(InfoExtractor): @classmethod def _extract_brightcove_url(cls, webpage): - """Try to extract the brightcove url from the wepbage, returns None + """Try to extract the brightcove url from the webpage, returns None if it can't be found """ + urls = cls._extract_brightcove_urls(webpage) + return urls[0] if urls else None + + @classmethod + def _extract_brightcove_urls(cls, webpage): + """Return a list of all Brightcove URLs from the webpage """ url_m = re.search(r']+?class=([\'"])[^>]*?BrightcoveExperience.*?\1 | + [^>]+?class=[\'"][^>]*?BrightcoveExperience.*?[\'"] | [^>]*?>\s*''', webpage) - if m_brightcove is not None: - return cls._build_brighcove_url(m_brightcove.group()) - else: - return None + return [cls._build_brighcove_url(m) for m in matches] def _real_extract(self, url): url, smuggled_data = unsmuggle_url(url, {})