X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fbrightcove.py;h=f5ebae1e68e456c158476a02d9df49feac97e02a;hb=71d9fe7818b8c766c3b1190017746d8e51db3081;hp=9ae724c2b88aeed4f6544ae4e86b575b7a42977c;hpb=cb33d389ed452583638f73360599642b86617dfb;p=youtube-dl diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py index 9ae724c2b..f5ebae1e6 100644 --- a/youtube_dl/extractor/brightcove.py +++ b/youtube_dl/extractor/brightcove.py @@ -11,7 +11,6 @@ from ..compat import ( compat_str, compat_urllib_parse, compat_urllib_parse_urlparse, - compat_urllib_request, compat_urlparse, compat_xml_parse_error, ) @@ -24,6 +23,7 @@ from ..utils import ( js_to_json, int_or_none, parse_iso8601, + sanitized_Request, unescapeHTML, unsmuggle_url, ) @@ -250,7 +250,7 @@ class BrightcoveLegacyIE(InfoExtractor): def _get_video_info(self, video_id, query_str, query, referer=None): request_url = self._FEDERATED_URL_TEMPLATE % query_str - req = compat_urllib_request.Request(request_url) + req = sanitized_Request(request_url) linkBase = query.get('linkBaseURL') if linkBase is not None: referer = linkBase[0] @@ -402,10 +402,11 @@ class BrightcoveNewIE(InfoExtractor): for _, url in re.findall( r']+src=(["\'])((?:https?:)//players\.brightcove\.net/\d+/[^/]+/index\.html.+?)\1', webpage): entries.append(url) + # Look for embed_in_page embeds [2] - # According to examples from [3] it's unclear whether video id may be optional - # and what to do when it is for video_id, account_id, player_id, embed in re.findall( + # According to examples from [3] it's unclear whether video id + # may be optional and what to do when it is r'''(?sx) ]+ data-video-id=["\'](\d+)["\'][^>]*>.*? @@ -417,6 +418,7 @@ class BrightcoveNewIE(InfoExtractor): entries.append( 'http://players.brightcove.net/%s/%s_%s/index.html?videoId=%s' % (account_id, player_id, embed, video_id)) + return entries def _real_extract(self, url): @@ -441,7 +443,7 @@ class BrightcoveNewIE(InfoExtractor): r'policyKey\s*:\s*(["\'])(?P.+?)\1', webpage, 'policy key', group='pk') - req = compat_urllib_request.Request( + req = sanitized_Request( 'https://edge.api.brightcove.com/playback/v1/accounts/%s/videos/%s' % (account_id, video_id), headers={'Accept': 'application/json;pk=%s' % policy_key})