当前位置: 首页>>代码示例>>Python>>正文


Python DataObjects.VideoInfo类代码示例

本文整理汇总了Python中common.DataObjects.VideoInfo的典型用法代码示例。如果您正苦于以下问题:Python VideoInfo类的具体用法?Python VideoInfo怎么用?Python VideoInfo使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了VideoInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        
        video_info_link = 'http://www.facebook.com/video/video.php?v=' + str(video_id)
        html = urllib.unquote_plus(HttpUtils.HttpClient().getHtmlContent(url=video_info_link).replace('\u0025', '%'))

        video_title = re.compile('addVariable\("video_title"\, "(.+?)"').findall(html)[0]
        img_link = re.compile('addVariable\("thumb_url"\, "(.+?)"').findall(html)[0]
        high_video_link = re.compile('addVariable\("highqual_src"\, "(.+?)"').findall(html)
        low_video_link = re.compile('addVariable\("lowqual_src"\, "(.+?)"').findall(html)
        video_link = re.compile('addVariable\("video_src"\, "(.+?)"').findall(html)
        if len(high_video_link) > 0:
            video_info.add_video_link(VIDEO_QUAL_HD_720, high_video_link[0])
        if len(low_video_link) > 0:
            video_info.add_video_link(VIDEO_QUAL_SD, low_video_link[0])
        if len(video_link) > 0:
            video_info.add_video_link(VIDEO_QUAL_SD, video_link[0])

        video_info.set_video_stopped(False)
        video_info.set_video_name(video_title)
        video_info.set_video_image(img_link)
    except:
        raise
        video_info.set_video_stopped(True)
    return video_info
开发者ID:ak0ng,项目名称:dk-xbmc-repaddon-rep,代码行数:29,代码来源:Facebook.py

示例2: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_info_link = 'http://www.veoh.com/rest/v2/execute.xml?method=veoh.video.findByPermalink&permalink=' + str(video_id) + '&apiKey=' + API_KEY
        soup = BeautifulStoneSoup(HttpUtils.HttpClient().getHtmlContent(url=video_info_link), convertEntities=BeautifulStoneSoup.XML_ENTITIES)
        
        videoObj = soup.findChild(name='video')
        video_link = HttpUtils.getRedirectedUrl(str(videoObj['ipodurl']))
        img_link = str(videoObj['highresimage'])
        video_title = str(videoObj['title'])
        
        video_info.set_video_stopped(False)
        video_info.set_video_image(img_link)
        video_info.set_video_name(video_title)
        video_info.add_video_link(VIDEO_QUAL_SD, video_link)
        
    except: 
        video_info.set_video_stopped(True)
    return video_info
开发者ID:ak0ng,项目名称:dk-xbmc-repaddon-rep,代码行数:22,代码来源:Veoh.py

示例3: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_link = 'http://www.comedyportal.net/' + str(video_id)
        html = HttpUtils.HttpClient().getHtmlContent(url=video_link)
        match = re.compile("id='pl'.+?data='(.+?)'").findall(html)
        html = HttpUtils.HttpClient().getHtmlContent(url=match[0].replace(' ', '%20'))
        video_link = re.compile("file : '(.+?)'").findall(html)[0].replace(' ', '%20')
        video_info.set_video_stopped(False)
        video_info.add_video_link(VIDEO_QUAL_SD, video_link)
    except:
        video_info.set_video_stopped(True)
    return video_info
开发者ID:jigarsavla,项目名称:apple-tv2-xbmc,代码行数:15,代码来源:ComedyPortal_net.py

示例4: retrieveVideoInfo

def retrieveVideoInfo(videoUrl):
    
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(videoUrl)
    try:
        sources = []
        hosted_media = urlresolver.HostedMediaFile(url=videoUrl)
        sources.append(hosted_media)
        source = urlresolver.choose_source(sources)
        stream_url = ''
        if source: 
            stream_url = source.resolve()
    
        video_info.set_video_stopped(False)
        video_info.set_video_image('')
        video_info.set_video_name(' ')
        video_info.add_video_link(VIDEO_QUAL_SD, stream_url)
    except:
        video_info.set_video_stopped(True)
    return video_info
开发者ID:ak0ng,项目名称:dk-xbmc-repaddon-rep,代码行数:21,代码来源:UrlResolverDelegator.py

示例5: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_link = 'http://www.mediaplaybox.com/mobile?vinf=' + str(video_id)
        html = HttpUtils.HttpClient().getHtmlContent(url=video_link, headers=HttpUtils.IPAD_HEADERS)
        video_file_info = re.compile('href="http://www.mediaplaybox.com/media/files_flv/(.+?)"').findall(html)
        if(len(video_file_info) == 0):
            video_file_info = re.compile('href="http://www.mediaplaybox.com:81/media/files_flv/(.+?)"').findall(html)
        video_file = video_file_info[0]
        img_file_info = re.compile('src="http://www.mediaplaybox.com/media/files_thumbnail/(.+?)"').findall(html)
        if(len(img_file_info) == 0):
            img_file_info = re.compile('src="http://www.mediaplaybox.com/media/files_thumbnail/(.+?)"').findall(html)[0]
        img_file = img_file_info[0]
        video_link = 'http://www.mediaplaybox.com/media/files_flv/' + video_file.replace('_ipod.mp4', '.flv')
        hd_video_link = 'http://www.mediaplaybox.com/media/files_flv/' + video_file.replace('_ipod.mp4', '_hd.mp4')
        img_link = 'http://www.mediaplaybox.com/media/files_thumbnail/' + img_file
        video_info.set_video_stopped(False)
        video_info.set_video_image(img_link)
        video_info.set_video_name("Media PlayBox Video")
        try:
            response = HttpUtils.HttpClient().getResponse(url=hd_video_link)
            if response.status < 400:
                video_info.add_video_link(VIDEO_QUAL_HD_720, hd_video_link, addUserAgent=False)
        except Exception,e:
            print 'No HD link'
        video_info.add_video_link(VIDEO_QUAL_SD, video_link, addUserAgent=False)
开发者ID:jigarsavla,项目名称:apple-tv2-xbmc,代码行数:28,代码来源:MediaPlayBox.py

示例6: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:

        html = HttpUtils.HttpClient().getHtmlContent(url='http://vimeo.com/' + str(video_id))
        referrerObj = re.compile('"timestamp":(.+?),"signature":"(.+?)"').findall(html)[0]
        req_sig_exp = referrerObj[0]
        req_sig = referrerObj[1]
        
        img_link = re.compile('itemprop="thumbnailUrl" content="(.+?)"').findall(html)[0]
        video_title = re.compile('"title":"(.+?)"').findall(html)[0]
        
        qual = 'sd'
        video_link = "http://player.vimeo.com/play_redirect?clip_id=%s&sig=%s&time=%s&quality=%s&codecs=H264,VP8,VP6&type=moogaloop_local&embed_location=" % (video_id, req_sig, req_sig_exp, qual)
        video_info.add_video_link(VIDEO_QUAL_SD, video_link)
        
        if(re.search('"hd":1', html)):
            qual = 'hd'
            video_link = "http://player.vimeo.com/play_redirect?clip_id=%s&sig=%s&time=%s&quality=%s&codecs=H264,VP8,VP6&type=moogaloop_local&embed_location=" % (video_id, req_sig, req_sig_exp, qual)
            video_info.add_video_link(VIDEO_QUAL_HD_720, video_link)
            
        video_info.set_video_stopped(False)
        video_info.set_video_image(img_link)
        video_info.set_video_name(video_title)
        
    except Exception, e:
        Logger.logError(e)
        video_info.set_video_stopped(True)
开发者ID:jigarsavla,项目名称:apple-tv2-xbmc,代码行数:31,代码来源:Vimeo.py

示例7: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_link = 'http://www.dailymotion.com/video/' + str(video_id)
        html = HttpUtils.HttpClient().getHtmlContent(url=video_link)
        sequence = re.compile('"sequence":"(.+?)"').findall(html)
        newseqeunce = urllib.unquote(sequence[0]).decode('utf8').replace('\\/', '/')
        #        jsonObj = json.loads(newseqeunce, encoding='utf-8')
        #        print jsonObj
        imgSrc = re.compile('og:image" content="(.+?)"').findall(html)
        if(len(imgSrc) == 0):
            imgSrc = re.compile('/jpeg" href="(.+?)"').findall(html)
        dm_low = re.compile('"sdURL":"(.+?)"').findall(newseqeunce)
        dm_high = re.compile('"hqURL":"(.+?)"').findall(newseqeunce)
        
        video_info.set_video_image(imgSrc[0])
        video_info.set_video_stopped(False)
        
        if(len(dm_high) == 0 and len(dm_low) == 1):
            video_info.add_video_link(VIDEO_QUAL_SD, dm_low[0])
        elif(len(dm_low) == 0 and len(dm_high) == 1):
            video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high[0])
        else:
            video_info.add_video_link(VIDEO_QUAL_SD, dm_low[0])
            video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high[0])
    except: 
        video_info.set_video_stopped(True)
    return video_info
开发者ID:iamfreetofly,项目名称:repository.iamfreetofly-xbmc-repaddon-bb,代码行数:30,代码来源:Dailymotion.py

示例8: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_info_link = 'http://www.zalaa.com/' + str(video_id)
        html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
        link = ''.join(html.splitlines()).replace('\'', '"')
        video_link = re.compile('s1.addVariable\("file","(.+?)"\);').findall(link)[0]
        video_info.add_video_link(VIDEO_QUAL_SD, video_link)
        video_info.set_video_stopped(False)
        
    except: 
        video_info.set_video_stopped(True)
    return video_info
开发者ID:ak0ng,项目名称:dk-xbmc-repaddon-rep,代码行数:16,代码来源:Zalaa.py

示例9: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_link = 'http://www.dailymotion.com/embed/video/' + str(video_id)
        html = HttpUtils.HttpClient().getHtmlContent(url=video_link)
        HttpUtils.HttpClient().disableCookies()
        
        matchFullHD = re.compile('"stream_h264_hd1080_url":"(.+?)"', re.DOTALL).findall(html)
        matchHD = re.compile('"stream_h264_hd_url":"(.+?)"', re.DOTALL).findall(html)
        matchHQ = re.compile('"stream_h264_hq_url":"(.+?)"', re.DOTALL).findall(html)
        matchSD = re.compile('"stream_h264_url":"(.+?)"', re.DOTALL).findall(html)
        matchLD = re.compile('"stream_h264_ld_url":"(.+?)"', re.DOTALL).findall(html)
        dm_LD = None
        dm_SD = None
        dm_720 = None
        dm_1080 = None
        
        if matchFullHD:
            dm_1080 = urllib.unquote_plus(matchFullHD[0]).replace("\\", "")
        if matchHD:
            dm_720 = urllib.unquote_plus(matchHD[0]).replace("\\", "")
        if dm_720 is None and matchHQ:
            dm_720 = urllib.unquote_plus(matchHQ[0]).replace("\\", "")
        if matchSD:
            dm_SD = urllib.unquote_plus(matchSD[0]).replace("\\", "")
        if matchLD:
            dm_LD = urllib.unquote_plus(matchLD[0]).replace("\\", "")
        
        if dm_LD is not None:
            video_info.add_video_link(VIDEO_QUAL_LOW, dm_LD, addReferer=True, refererUrl=video_link)
        if dm_SD is not None:
            video_info.add_video_link(VIDEO_QUAL_SD, dm_SD, addReferer=True, refererUrl=video_link)
        if dm_720 is not None:
            video_info.add_video_link(VIDEO_QUAL_HD_720, dm_720, addReferer=True, refererUrl=video_link)
        if dm_1080 is not None:
            video_info.add_video_link(VIDEO_QUAL_HD_1080, dm_1080, addReferer=True, refererUrl=video_link)
        video_info.set_video_stopped(False)
    except Exception, e:
        Logger.logError(e)
        video_info.set_video_stopped(True)
开发者ID:jigarsavla,项目名称:apple-tv2-xbmc,代码行数:42,代码来源:Dailymotion.py

示例10: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        HttpUtils.HttpClient().enableCookies()
        video_info_link = 'http://www.divxstage.eu/video/' + str(video_id)
        html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
        if re.search(r'Video hosting is expensive. We need you to prove you\'re human.', html):
            html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
        
        HttpUtils.HttpClient().disableCookies()
        fileKey = re.compile('flashvars.filekey="(.+?)";').findall(html)[0]
        video_info_link = 'http://www.divxstage.eu/api/player.api.php?file=' + video_id + '&key=' + fileKey
        html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
        video_link = re.compile('url=(.+?)&').findall(html)[0]
        video_info.set_video_stopped(False)
        video_info.add_video_link(VIDEO_QUAL_SD, video_link)
    except Exception, e:
        logging.exception(e)
        video_info.set_video_stopped(True)
开发者ID:jigarsavla,项目名称:apple-tv2-xbmc,代码行数:22,代码来源:DivXStage.py

示例11: retrieveVideoInfo

def retrieveVideoInfo(videoUrl):
    try: 
        xbmcaddon.Addon('plugin.video.vevo')
    except: 
        dialog = xbmcgui.Dialog()
        dialog.ok('[B][COLOR red]MISSING: [/COLOR][/B] VEVO add-on', '', 'Please install VEVO add-on created by BlueCop!', 'Available at http://code.google.com/p/bluecop-xbmc-repo/')
        raise
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(videoUrl)
    addon_url = 'plugin://plugin.video.vevo/?'
    vevo_id = videoUrl.split('/')[-1]
    if videoUrl.startswith('playlist'):
        url = urllib.quote_plus('http://api.vevo.com/mobile/v2/playlist/%s.json?' % vevo_id)
        addon_url += 'url=%s' % url
        addon_url += '&mode=playPlaylist'
        addon_url += '&duration=210'
        addon_url += '&page=1'
        video_info.add_video_link(XBMC_EXECUTE_PLUGIN, addon_url, addUserAgent=False, addReferer=False)
        video_info.set_video_image('')
        video_info.set_video_name(' ')
    else:
        url = 'http://videoplayer.vevo.com/VideoService/AuthenticateVideo?isrc=%s&extended=true' % vevo_id
        video = json.loads(HttpUtils.HttpClient().getHtmlContent(url=url))['video']
        title = ''
        try:title = video['title'].encode('utf-8')
        except: title = ''                  
        video_image = video['imageUrl']
        if len(video['featuredArtists']) > 0:
            feats = ''
            for featuredartist in video['featuredArtists']:
                # featuredartist_image = featuredartist['image_url']
                featuredartist_name = featuredartist['artistName'].encode('utf-8')
                feats += featuredartist_name + ', '
            feats = feats[:-2]
            title += ' (ft. ' + feats + ')'
                
        addon_url += 'url=%s' % vevo_id
        addon_url += '&mode=playVideo'
        addon_url += '&duration=210'
        video_info.add_video_link(VIDEO_QUAL_SD, addon_url, addUserAgent=False, addReferer=False)
        video_info.set_video_image(video_image)
        video_info.set_video_name(title)
    
    Logger.logDebug(addon_url)
    video_info.set_video_stopped(False)
    return video_info
开发者ID:jigarsavla,项目名称:apple-tv2-xbmc,代码行数:47,代码来源:VevoDelegator.py

示例12: retrieveVideoInfo

def retrieveVideoInfo(video_id):

    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        html = HttpUtils.HttpClient().getHtmlContent(url="https://docs.google.com/file/" + str(video_id) + "?pli=1")
        html = html.decode("utf8")
        title = re.compile("'title': '(.+?)'").findall(html)[0]
        video_info.set_video_name(title)
        stream_map = re.compile('fmt_stream_map":"(.+?)"').findall(html)[0].replace("\/", "/")
        formatArray = stream_map.split(",")
        for formatContent in formatArray:
            formatContentInfo = formatContent.split("|")
            qual = formatContentInfo[0]
            url = (formatContentInfo[1]).decode("unicode-escape")
            if qual == "13":  # 176x144
                video_info.add_video_link(VIDEO_QUAL_LOW, url)
            elif qual == "17":  # 176x144
                video_info.add_video_link(VIDEO_QUAL_LOW, url)
            elif qual == "36":  # 320x240
                video_info.add_video_link(VIDEO_QUAL_LOW, url)
            elif qual == "5":  # 400\\327226
                video_info.add_video_link(VIDEO_QUAL_LOW, url)
            elif qual == "34":  # 480x360 FLV
                video_info.add_video_link(VIDEO_QUAL_SD, url)
            elif qual == "6":  # 640\\327360 FLV
                video_info.add_video_link(VIDEO_QUAL_SD, url)
            elif qual == "35":  # 854\\327480 HD
                video_info.add_video_link(VIDEO_QUAL_SD, url)
            elif qual == "18":  # 480x360 MP4
                video_info.add_video_link(VIDEO_QUAL_SD, url)
            elif qual == "22":  # 1280x720 MP4
                video_info.add_video_link(VIDEO_QUAL_HD_720, url)
            elif qual == "37":  # 1920x1080 MP4
                video_info.add_video_link(VIDEO_QUAL_HD_1080, url)
            elif qual == "38" and video_info.get_video_link(VIDEO_QUAL_HD_1080) is None:  # 4096\\3272304 EPIC MP4
                video_info.add_video_link(VIDEO_QUAL_HD_1080, url)
            elif qual == "43" and video_info.get_video_link(VIDEO_QUAL_SD) is None:  # 360 WEBM
                video_info.add_video_link(VIDEO_QUAL_SD, url)
            elif qual == "44":  # 480 WEBM
                video_info.add_video_link(VIDEO_QUAL_SD, url)
            elif qual == "45" and video_info.get_video_link(VIDEO_QUAL_HD_720) is None:  # 720 WEBM
                video_info.add_video_link(VIDEO_QUAL_HD_720, url)
            elif qual == "46" and video_info.get_video_link(VIDEO_QUAL_HD_1080) is None:  # 1080 WEBM
                video_info.add_video_link(VIDEO_QUAL_HD_1080, url)
            elif qual == "120" and video_info.get_video_link(VIDEO_QUAL_HD_720) is None:  # New video qual
                video_info.add_video_link(VIDEO_QUAL_HD_720, url)
                # 3D streams - MP4
                # 240p -> 83
                # 360p -> 82
                # 520p -> 85
                # 720p -> 84
                # 3D streams - WebM
                # 360p -> 100
                # 360p -> 101
                # 720p -> 102
            else:  # unknown quality
                video_info.add_video_link(VIDEO_QUAL_SD, url)

            video_info.set_video_stopped(False)
    except Exception, e:
        logging.exception(e)
        video_info.set_video_stopped(True)
开发者ID:noba3,项目名称:KoTos,代码行数:64,代码来源:GoogleDocs.py

示例13: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_link = 'http://cdn.playwire.com/' + str(video_id) + '.xml'
        soup = BeautifulStoneSoup(HttpUtils.HttpClient().getHtmlContent(url=video_link), convertEntities=BeautifulStoneSoup.XML_ENTITIES)
        cfg = soup.find("config")
        img_link = cfg.findNext("poster").string
        video_link = cfg.findNext("src").string
        
        video_info.set_video_stopped(False)
        video_info.set_video_image(img_link)
        video_info.set_video_name("PLAYWIRE Video")
        if re.search(r'\Artmp',video_link):
            video_info.add_video_link(VIDEO_QUAL_HD_720, video_link, addUserAgent=False)
        else:
            video_info.add_video_link(VIDEO_QUAL_HD_720, video_link, addUserAgent=True)
    except:
        video_info.set_video_stopped(True)
    return video_info
开发者ID:jigarsavla,项目名称:apple-tv2-xbmc,代码行数:21,代码来源:Playwire.py

示例14: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_info_link = 'http://embed.tune.pk/play/' + str(video_id) + '?autoplay=no'
        html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
        image = re.compile("preview_img = '(.+?)';").findall(html)
        if image is not None and len(image) == 1:
            video_info.set_video_image(str(image[0]))
        html = html.replace('\n\r', '').replace('\r', '').replace('\n', '')
        sources = re.compile("{(.+?)}").findall(re.compile("sources:(.+?)]").findall(html)[0])
        for source in sources:
            video_link = str(re.compile('file[: ]*"(.+?)"').findall(source)[0])
            Logger.logDebug(video_link)
            label_text = re.compile('label[: ]*"(.+?)"').findall(source)
            if label_text is not None and len(label_text) == 1:
                label = str(label_text[0])
                Logger.logDebug(label)
                if label == '240p':
                    video_info.add_video_link(VIDEO_QUAL_LOW, video_link)
                elif label == '360p' and video_info.get_video_link(VIDEO_QUAL_SD) is None:
                    video_info.add_video_link(VIDEO_QUAL_SD, video_link)
                elif label == '480p' or label == 'SD':
                    video_info.add_video_link(VIDEO_QUAL_SD, video_link)
                elif label == '720p' or label == 'HD':
                    video_info.add_video_link(VIDEO_QUAL_HD_720, video_link)
                elif label == '1080p':
                    video_info.add_video_link(VIDEO_QUAL_HD_1080, video_link)
                else:
                    video_info.add_video_link(VIDEO_QUAL_SD, video_link)
                    
            else:
                video_info.add_video_link(VIDEO_QUAL_SD, video_link)
        video_info.set_video_stopped(False)
        
    except Exception, e:
        Logger.logError(e)
        video_info.set_video_stopped(True)
开发者ID:jigarsavla,项目名称:apple-tv2-xbmc,代码行数:40,代码来源:Tune_pk.py

示例15: retrieveVideoInfo

def retrieveVideoInfo(video_id):
    video_info = VideoInfo()
    video_info.set_video_hosting_info(getVideoHostingInfo())
    video_info.set_video_id(video_id)
    try:
        video_link = 'http://www.dailymotion.com/video/' + str(video_id)
        html = HttpUtils.HttpClient().getHtmlContent(url=video_link)
        HttpUtils.HttpClient().disableCookies()
        sequence = re.compile('"sequence":"(.+?)"').findall(html)
        if(len(sequence) == 0):
            sequence = re.compile('"sequence",  "(.+?)"').findall(html)
            newseqeunce = urllib.unquote(sequence[0]).decode('utf8').replace('\\/', '/')
            imgSrc = re.compile('og:image" content="(.+?)"').findall(html)
            if(len(imgSrc) == 0):
                imgSrc = re.compile('/jpeg" href="(.+?)"').findall(html)
            dm_low = re.compile('"sdURL":"(.+?)"').findall(newseqeunce)
            dm_high = re.compile('"hqURL":"(.+?)"').findall(newseqeunce)
            
            video_info.set_video_image(imgSrc[0])
            video_info.set_video_stopped(False)
            
            if(len(dm_high) == 0 and len(dm_low) == 1):
                video_info.add_video_link(VIDEO_QUAL_SD, dm_low[0])
            elif(len(dm_low) == 0 and len(dm_high) == 1):
                video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high[0])
            else:
                video_info.add_video_link(VIDEO_QUAL_SD, dm_low[0])
                video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high[0])
        else:
            newseqeunce = urllib.unquote(sequence[0]).decode('utf8').replace('\\/', '/')
            jObj = json.loads(newseqeunce)
            for sequenceItem in jObj['sequence'][0]['layerList'][0]['sequenceList']:
                if sequenceItem['name'] == 'main':
                    for layerItem in sequenceItem['layerList']:
                        if layerItem['name'] == 'video' and layerItem['type'] == 'VideoFrame':
                            params = layerItem['param']
                            if params.has_key('sdURL'):
                                dm_low = params['sdURL']
                                video_info.add_video_link(VIDEO_QUAL_SD, dm_low)
                            if params.has_key('hqURL'):
                                dm_high = params['hqURL']
                                video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high)
                            video_info.set_video_stopped(False)
                        elif layerItem['name'] == 'relatedBackground' and layerItem['type'] == 'Background':
                            params = layerItem['param']
                            video_info.set_video_image(params['imageURL'])
    except Exception, e:
        logging.exception(e)
        video_info.set_video_stopped(True)
开发者ID:ak0ng,项目名称:dk-xbmc-repaddon-rep,代码行数:49,代码来源:Dailymotion.py


注:本文中的common.DataObjects.VideoInfo类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。