2016-10-02 19:39:18 +08:00
# coding: utf-8
2016-09-08 00:32:35 +08:00
from __future__ import unicode_literals
from . common import InfoExtractor
from . brightcove import BrightcoveLegacyIE
from . . compat import (
compat_parse_qs ,
compat_urlparse ,
)
class RMCDecouverteIE ( InfoExtractor ) :
_VALID_URL = r ' https?://rmcdecouverte \ .bfmtv \ .com/mediaplayer-replay.*? \ bid=(?P<id> \ d+) '
_TEST = {
2017-05-01 01:36:44 +08:00
' url ' : ' http://rmcdecouverte.bfmtv.com/mediaplayer-replay/?id=16548 ' ,
2016-09-08 00:32:35 +08:00
' info_dict ' : {
2017-05-01 01:36:44 +08:00
' id ' : ' 5411254766001 ' ,
2016-09-08 00:32:35 +08:00
' ext ' : ' mp4 ' ,
2017-05-01 01:36:44 +08:00
' title ' : ' 39/45:LE RESEAU DES FAUX BILLETS ' ,
' description ' : ' ic Brunet propose un nouvel \u00e9 pisode des Grains de sable de l \' Histoire sur la plus grosse affaire de contrefa \u00e7 on de la Seconde Guerre mondiale. ' ,
2016-09-08 00:32:35 +08:00
' uploader_id ' : ' 1969646226001 ' ,
2017-05-01 01:36:44 +08:00
' upload_date ' : ' 20170426 ' ,
' timestamp ' : 1493166610 ,
2016-09-08 00:32:35 +08:00
} ,
' params ' : {
# rtmp download
' skip_download ' : True ,
} ,
' skip ' : ' Only works from France ' ,
}
BRIGHTCOVE_URL_TEMPLATE = ' http://players.brightcove.net/1969646226001/default_default/index.html?videoId= %s '
def _real_extract ( self , url ) :
video_id = self . _match_id ( url )
webpage = self . _download_webpage ( url , video_id )
brightcove_legacy_url = BrightcoveLegacyIE . _extract_brightcove_url ( webpage )
2017-05-01 01:36:44 +08:00
if brightcove_legacy_url :
brightcove_id = compat_parse_qs ( compat_urlparse . urlparse ( brightcove_legacy_url ) . query ) [ ' @videoPlayer ' ] [ 0 ]
else :
brightcove_id = self . _search_regex ( r ' data-video-id= " (.*?) " ' , webpage , ' brightcove_id ' )
2016-09-08 00:32:35 +08:00
return self . url_result ( self . BRIGHTCOVE_URL_TEMPLATE % brightcove_id , ' BrightcoveNew ' , brightcove_id )