Ejemplo n.º 1
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r' or params.next == 'download_video':

        url = ''

        html_video = utils.get_webcontent(params.url_video)

        if 'dailymotion' in html_video:
            video_id = re.compile(
                r'www.dailymotion.com/embed/video/(.*?)[\?\"]').findall(
                html_video)[0]
            if params.next == 'download_video':
                return resolver.get_stream_dailymotion(video_id, True)
            else:
                return resolver.get_stream_dailymotion(video_id, False)
        else:
            # get videoId and accountId
            videoId, accountId = re.compile(
                r'embed/(.*?)/(.*?)/').findall(html_video)[0]

            html_json = utils.get_webcontent(
                URL_VIDEO_REPLAY % (videoId, accountId))

            html_json_2 = re.compile(r'\((.*?)\);').findall(html_json)[0]
            json_parser = json.loads(html_json_2)

            for playlist in json_parser['Playlist']:
                datas_video = playlist['MediaFiles']['M3u8']
                for data in datas_video:
                    url = data['Url']
            return url

    elif params.next == 'play_l':
        return resolver.get_stream_dailymotion(params.video_id, False)
Ejemplo n.º 2
0
def get_video_url(params):
    """Get video URL and start video player"""

    video_html = utils.get_webcontent(params.video_url)

    if params.next == 'play_r':
        # Get DailyMotion Id Video
        video_urls = re.compile(
            'file: \"(.*?)\"').findall(video_html)
        stream_url = ''
        for video_url in video_urls:
            if 'm3u8' in video_url:
                stream_url = video_url
        return stream_url
    elif params.next == 'play_r_elle_girl_tv':
        # Get DailyMotion Id Video
        video_id = re.compile(
            r'embed/video/(.*?)[\"\?\']').findall(
                video_html)[0]
        return resolver.get_stream_dailymotion(video_id, False)
    elif params.next == 'download_video':
        if 'dailymotion.com/embed' in video_html:
            video_id = re.compile(
                r'embed/video/(.*?)[\"\?\']').findall(
                    video_html)[0]
            return resolver.get_stream_dailymotion(video_id, True)
        else:
            video_urls = re.compile(
                'file: \"(.*?)\"').findall(video_html)
            stream_url = ''
            for video_url in video_urls:
                if 'm3u8' in video_url:
                    stream_url = video_url
            return stream_url
Ejemplo n.º 3
0
def get_video_url(params):
    """Get video URL and start video player"""

    video_html = utils.get_webcontent(params.video_url)

    if params.next == 'play_r':
        # Get DailyMotion Id Video
        video_urls = re.compile('file: \"(.*?)\"').findall(video_html)
        stream_url = ''
        for video_url in video_urls:
            if 'm3u8' in video_url:
                stream_url = video_url
        return stream_url
    elif params.next == 'play_r_elle_girl_tv':
        # Get DailyMotion Id Video
        video_id = re.compile(r'embed/video/(.*?)[\"\?\']').findall(
            video_html)[0]
        return resolver.get_stream_dailymotion(video_id, False)
    elif params.next == 'download_video':
        if 'dailymotion.com/embed' in video_html:
            video_id = re.compile(r'embed/video/(.*?)[\"\?\']').findall(
                video_html)[0]
            return resolver.get_stream_dailymotion(video_id, True)
        else:
            video_urls = re.compile('file: \"(.*?)\"').findall(video_html)
            stream_url = ''
            for video_url in video_urls:
                if 'm3u8' in video_url:
                    stream_url = video_url
            return stream_url
Ejemplo n.º 4
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r':
        return resolver.get_stream_dailymotion(params.video_id, False)
    elif params.next == 'play_l':
        return resolver.get_stream_dailymotion(params.video_id, False)
    elif params.next == 'download_video':
        return resolver.get_stream_dailymotion(params.video_id, True)
Ejemplo n.º 5
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r':
        return resolver.get_stream_dailymotion(params.video_id, False)
    elif params.next == 'play_l':
        return resolver.get_stream_dailymotion(params.video_id, False)
    elif params.next == 'download_video':
        return resolver.get_stream_dailymotion(params.video_id, True)
Ejemplo n.º 6
0
def get_video_url(params):
    """Get video URL and start video player"""

    video_html = utils.get_webcontent(params.video_url)
    # Get DailyMotion Id Video
    video_id = re.compile(r'embed/video/(.*?)[\"\?]').findall(video_html)[0]
    if params.next == 'play_r':
        return resolver.get_stream_dailymotion(video_id, False)
    elif params.next == 'download_video':
        return resolver.get_stream_dailymotion(video_id, True)
Ejemplo n.º 7
0
def get_video_url(params):
    """Get video URL and start video player"""

    video_html = utils.get_webcontent(params.video_url)
    # Get DailyMotion Id Video
    video_id = re.compile(
        r'embed/video/(.*?)[\"\?]').findall(
        video_html)[0]
    if params.next == 'play_r':
        return resolver.get_stream_dailymotion(video_id, False)
    elif params.next == 'download_video':
        return resolver.get_stream_dailymotion(video_id, True)
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r' or params.next == 'download_video':
        html_video = utils.get_webcontent(params.url_video)
        video_id = re.compile(r'www.dailymotion.com/embed/video/(.*?)[\?\"]'
                              ).findall(html_video)[0]
        if params.next == 'download_video':
            return resolver.get_stream_dailymotion(video_id, True)
        else:
            return resolver.get_stream_dailymotion(video_id, False)
    elif params.next == 'play_l':
        return resolver.get_stream_dailymotion(params.video_id, False)
Ejemplo n.º 9
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r':
        return resolver.get_stream_dailymotion(params.video_id, False)
    elif params.next == 'play_l':
        video_id = ''
        html_live_equipe = utils.get_webcontent(URL_LIVE)
        video_id = re.compile(r'dailymotion.com/embed/video/(.*?)[\"\?]',
                              re.DOTALL).findall(html_live_equipe)[0]
        return resolver.get_stream_dailymotion(video_id, False)
    elif params.next == 'download_video':
        return resolver.get_stream_dailymotion(params.video_id, True)
Ejemplo n.º 10
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r' or params.next == 'download_video':
        html_video = utils.get_webcontent(params.url_video)
        video_id = re.compile(
            r'www.dailymotion.com/embed/video/(.*?)[\?\"]').findall(
            html_video)[0]
        if params.next == 'download_video':
            return resolver.get_stream_dailymotion(video_id, True)
        else:
            return resolver.get_stream_dailymotion(video_id, False)
    elif params.next == 'play_l':
        return resolver.get_stream_dailymotion(params.video_id, False)
Ejemplo n.º 11
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_l':
        live_html = utils.get_webcontent(URL_LIVE)
        video_id = re.compile(
            r'dailymotion.com/embed/video/(.*?)[\"\?]').findall(live_html)[0]
        return resolver.get_stream_dailymotion(video_id, False)
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r':
        return resolver.get_stream_dailymotion(params.video_id, False)
    elif params.next == 'play_l':
        file_path = utils.download_catalog(
            URL_INFO_LIVE_JSON,
            '%s_info_live.json' % (params.channel_name)
        )
        file_info_live = open(file_path).read()
        json_parser = json.loads(file_info_live)

        video_id = json_parser["video"].encode('utf-8')
        return resolver.get_stream_dailymotion(video_id, False)
    elif params.next == 'download_video':
        return resolver.get_stream_dailymotion(params.video_id, True)
Ejemplo n.º 13
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r' or params.next == 'download_video':
        if params.next == 'download_video':
            return resolver.get_stream_youtube(params.video_id, True)
        else:
            return resolver.get_stream_youtube(params.video_id, False)
    elif params.next == 'play_l':
        live_html = utils.get_webcontent(URL_LIVE)
        video_id = re.compile(r'dailymotion.com/embed/video/(.*?)\"').findall(
            live_html)[0]
        return resolver.get_stream_dailymotion(video_id, False)
Ejemplo n.º 14
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r' or params.next == 'download_video':
        file_video = utils.get_webcontent(URL_INFO_CONTENT % (params.video_id))
        media_json = json.loads(file_video)
        stream_url = ''
        if 'ID' in media_json:
            if media_json['ID'] == params.video_id:
                stream_url = media_json['MEDIA']['VIDEOS']['HLS'].encode(
                    'utf-8')
        else:
            for media in media_json:
                if media['ID'] == params.video_id:
                    stream_url = media['MEDIA']['VIDEOS']['HLS'].encode(
                        'utf-8')
        return stream_url
    elif params.next == 'play_l':
        return resolver.get_stream_dailymotion(params.live_dailymotion_id,
                                               False)
Ejemplo n.º 15
0
def get_video_url(params):
    """Get video URL and start video player"""
    if params.next == 'play_r' or params.next == 'download_video':
        file_video = utils.get_webcontent(
            URL_INFO_CONTENT % (params.video_id)
        )
        media_json = json.loads(file_video)
        stream_url = ''
        if 'ID' in media_json:
            if media_json['ID'] == params.video_id:
                stream_url = media_json['MEDIA']['VIDEOS']['HLS'].encode('utf-8')
        else:
            for media in media_json:
                if media['ID'] == params.video_id:
                    stream_url = media['MEDIA']['VIDEOS']['HLS'].encode('utf-8')
        return stream_url
    elif params.next == 'play_l':
        return resolver.get_stream_dailymotion(
            params.live_dailymotion_id, False)
def get_video_url(params):
    """Get video URL and start video player"""
    video_json = utils.get_webcontent(URL_API_MEDIA %
                                      (params.video_id, PARTNER))
    video_json_parser = json.loads(video_json)

    desired_quality = common.PLUGIN.get_setting('quality')

    url = ''
    if 'rendition' in video_json_parser["media"]:
        # (Video Hosted By Allocine)
        if desired_quality == "DIALOG":
            all_datas_videos_quality = []
            all_datas_videos_path = []
            for media in video_json_parser["media"]["rendition"]:
                all_datas_videos_quality.append(media["bandwidth"]["$"])
                all_datas_videos_path.append(media["href"])
            seleted_item = common.sp.xbmcgui.Dialog().select(
                _('Choose video quality'), all_datas_videos_quality)
            if seleted_item == -1:
                return None
            url = all_datas_videos_path[seleted_item]
        elif desired_quality == "BEST":
            for media in video_json_parser["media"]["rendition"]:
                url = media["href"]
        else:
            for media in video_json_parser["media"]["rendition"][0]:
                url = media["href"]
        if requests.get(url, stream=True).status_code == 404:
            utils.send_notification(common.ADDON.get_localized_string(30111))
            return ''
        return url
    else:
        # (Video Not Hosted By Allocine)
        url_video_embeded = re.compile('src=\'(.*?)\'').findall(
            video_json_parser["media"]["trailerEmbed"])[0]
        if 'allocine' in url_video_embeded:
            url_video_embeded_html = utils.get_webcontent(url_video_embeded)
            url_video_resolver = re.compile('data-model="(.*?)"').findall(
                url_video_embeded_html)[0]
            url_video_resolver = url_video_resolver.replace('"', '"')
            url_video_resolver = url_video_resolver.replace('\\', '')
            url_video_resolver = url_video_resolver.replace('&', '&')
            url_video_resolver = url_video_resolver.replace('%2F', '/')
            # Case Youtube
            if 'youtube' in url_video_resolver:
                video_id = re.compile('www.youtube.com/embed/(.*?)[\?\"\&]'
                                      ).findall(url_video_resolver)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_youtube(video_id, True)
                else:
                    return resolver.get_stream_youtube(video_id, False)
            # Case DailyMotion
            elif 'dailymotion' in url_video_resolver:
                video_id = re.compile(r'embed/video/(.*?)[\"\?]').findall(
                    url_video_resolver)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_dailymotion(video_id, True)
                else:
                    return resolver.get_stream_dailymotion(video_id, False)
            # Case Facebook
            elif 'facebook' in url_video_resolver:
                video_id = re.compile('www.facebook.com/allocine/videos/(.*?)/'
                                      ).findall(url_video_resolver)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_facebook(video_id, True)
                else:
                    return resolver.get_stream_facebook(video_id, False)
            # Case Vimeo
            elif 'vimeo' in url_video_resolver:
                video_id = re.compile('player.vimeo.com/video/(.*?)"').findall(
                    url_video_resolver)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_vimeo(video_id, True)
                else:
                    return resolver.get_stream_vimeo(video_id, False)
            # TO DO ? (return an error)
            else:
                return ''
        else:
            # Case Youtube
            if 'youtube' in url_video_embeded:
                video_id = re.compile('www.youtube.com/embed/(.*?)[\?\"\&]'
                                      ).findall(url_video_embeded)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_youtube(video_id, True)
                else:
                    return resolver.get_stream_youtube(video_id, False)
            # TO DO ? (return an error)
            else:
                return ''
Ejemplo n.º 17
0
def get_video_url(params):
    """Get video URL and start video player"""
    video_json = utils.get_webcontent(
        URL_API_MEDIA % (params.video_id, PARTNER))
    video_json_parser = json.loads(video_json)

    desired_quality = common.PLUGIN.get_setting('quality')

    url = ''
    if 'rendition' in video_json_parser["media"]:
        # (Video Hosted By Allocine)
        if desired_quality == "DIALOG":
            all_datas_videos_quality = []
            all_datas_videos_path = []
            for media in video_json_parser["media"]["rendition"]:
                all_datas_videos_quality.append(
                    media["bandwidth"]["$"])
                all_datas_videos_path.append(media["href"])
            seleted_item = common.sp.xbmcgui.Dialog().select(
                common.GETTEXT('Choose video quality'),
                all_datas_videos_quality)
            if seleted_item == -1:
                return None
            url = all_datas_videos_path[seleted_item]
        elif desired_quality == "BEST":
            for media in video_json_parser["media"]["rendition"]:
                url = media["href"]
        else:
            for media in video_json_parser["media"]["rendition"][0]:
                url = media["href"]
        if requests.get(url, stream=True).status_code == 404:
            utils.send_notification(
                common.ADDON.get_localized_string(30710))
            return ''
        return url
    else:
        # (Video Not Hosted By Allocine)
        url_video_embeded = re.compile(
            'src=\'(.*?)\''
            ).findall(video_json_parser["media"]["trailerEmbed"])[0]
        if 'allocine' in url_video_embeded:
            url_video_embeded_html = utils.get_webcontent(url_video_embeded)
            url_video_resolver = re.compile(
                'data-model="(.*?)"'
            ).findall(url_video_embeded_html)[0]
            url_video_resolver = url_video_resolver.replace('"', '"')
            url_video_resolver = url_video_resolver.replace('\\','')
            url_video_resolver = url_video_resolver.replace('&','&')
            url_video_resolver = url_video_resolver.replace('%2F','/')
            # Case Youtube
            if 'youtube' in url_video_resolver:
                video_id = re.compile(
                    'www.youtube.com/embed/(.*?)[\?\"\&]').findall(
                    url_video_resolver)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_youtube(
                        video_id, True)
                else:
                    return resolver.get_stream_youtube(
                        video_id, False)
            # Case DailyMotion
            elif 'dailymotion' in url_video_resolver:
                video_id = re.compile(
                    r'embed/video/(.*?)[\"\?]').findall(
                    url_video_resolver)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_dailymotion(
                        video_id, True)
                else:
                    return resolver.get_stream_dailymotion(
                        video_id, False)
            # Case Facebook
            elif 'facebook' in url_video_resolver:
                video_id = re.compile(
                    'www.facebook.com/allocine/videos/(.*?)/').findall(
                    url_video_resolver)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_facebook(
                        video_id, True)
                else:
                    return resolver.get_stream_facebook(
                        video_id, False)
            # Case Vimeo
            elif 'vimeo' in url_video_resolver:
                video_id = re.compile('player.vimeo.com/video/(.*?)"').findall(
                    url_video_resolver)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_vimeo(
                        video_id, True)
                else:
                    return resolver.get_stream_vimeo(
                        video_id, False)
            else:
                return ''
        else:
            # Case Youtube
            if 'youtube' in url_video_embeded:
                video_id = re.compile(
                    'www.youtube.com/embed/(.*?)[\?\"\&]').findall(
                    url_video_embeded)[0]
                if params.next == 'download_video':
                    return resolver.get_stream_youtube(
                        video_id, True)
                else:
                    return resolver.get_stream_youtube(
                        video_id, False)
            else:
                return ''
Ejemplo n.º 18
0
def get_video_url(params):
    """Get video URL and start video player"""

    desired_quality = common.PLUGIN.get_setting('quality')

    if params.next == 'play_r' or params.next == 'download_video':

        video_html = utils.get_webcontent(params.video_url)
        video_soup = bs(video_html, 'html.parser')
        video_data = video_soup.find('div', class_='player-wrapper')

        if video_data.find('a', class_='video_link'):
            id_diffusion = video_data.find('a', class_='video_link').get(
                'href').split('video/')[1].split('@')[0]
            file_prgm = utils.get_webcontent(SHOW_INFO % id_diffusion)
            json_parser = json.loads(file_prgm)

            url_selected = ''

            if desired_quality == "DIALOG":
                all_datas_videos_quality = []
                all_datas_videos_path = []

                for video in json_parser['videos']:
                    if video['format'] == 'hls_v5_os' or \
                            video['format'] == 'm3u8-download':
                        if video['format'] == 'hls_v5_os':
                            all_datas_videos_quality.append("HD")
                        else:
                            all_datas_videos_quality.append("SD")
                        all_datas_videos_path.append(video['url'])

                seleted_item = common.sp.xbmcgui.Dialog().select(
                    common.GETTEXT('Choose video quality'),
                    all_datas_videos_quality)

                if seleted_item == -1:
                    return None

                url_selected = all_datas_videos_path[seleted_item]

            elif desired_quality == "BEST":
                for video in json_parser['videos']:
                    if video['format'] == 'hls_v5_os':
                        url_selected = video['url']
            else:
                for video in json_parser['videos']:
                    if video['format'] == 'm3u8-download':
                        url_selected = video['url']

            return url_selected

        else:
            url_video_resolver = video_data.find('iframe').get('src')
            # Case Youtube
            if 'youtube' in url_video_resolver:
                video_id = url_video_resolver.split('youtube.com/embed/')[1]
                # print 'video_id youtube: ' + video_id
                if params.next == 'download_video':
                    return resolver.get_stream_youtube(video_id, True)
                else:
                    return resolver.get_stream_youtube(video_id, False)
            # Case DailyMotion
            elif 'dailymotion' in url_video_resolver:
                video_id = url_video_resolver.split(
                    'dailymotion.com/embed/video/')[1]
                # print 'video_id dailymotion: ' + video_id
                if params.next == 'download_video':
                    return resolver.get_stream_dailymotion(video_id, True)
                else:
                    return resolver.get_stream_dailymotion(video_id, False)
            else:
                # TO DO add new video hosting ?
                return None