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.videoweed.es/file/' + 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) domainStr = re.compile('flashvars.domain="(.+?)"').findall(html)[0] fileStr = re.compile('flashvars.file="(.+?)"').findall(html)[0] filekey = re.compile('flashvars.filekey="(.+?)"').findall(html) filekeyStr = None if len(filekey) == 0: filekeyStr = re.compile('flashvars.filekey=(.+?);').findall(html)[0] filekeyStr = re.compile('var ' + filekeyStr + '="(.+?)"').findall(html)[0] else: filekeyStr = filekey[0] video_info_link = domainStr + '/api/player.api.php?user=undefined&pass=undefined&codes=1&file=' + fileStr + '&key=' + filekeyStr html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link) video_link = re.compile(r'url=(.+?)&').findall(html)[0] HttpUtils.HttpClient().disableCookies() 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
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)
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.zshare.net/video/' + str(video_id) html = HttpUtils.HttpClient().getHtmlContent(url=video_link) match = re.compile('<iframe src="http://www.zshare.net/videoplayer/player.php(.+?)"').findall(html) html = HttpUtils.HttpClient().getHtmlContent(url=('http://www.zshare.net/videoplayer/player.php' + 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
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
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
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
def retrieveUserPlaylists(userId, pageNbr=0, maxCount=50): url = 'http://gdata.youtube.com/feeds/api/users/' + userId + '/playlists?alt=json&v=2&max-results=' + str( maxCount) + '&start-index=' + str((pageNbr * maxCount) + 1) jData = json.loads(HttpUtils.HttpClient().getHtmlContent(url)) entries = jData['feed']['entry'] items = [] for entry in entries: playlistId = unicode(entry['yt$playlistId']['$t']).encode('utf-8') title = unicode(entry['title']['$t']).encode('utf-8') thumbnail = unicode( entry['media$group']['media$thumbnail'][1]['url']).encode('utf-8') item = ListItem() item.add_request_data('userId', userId) item.add_request_data('playlistId', playlistId) item.set_next_action_name('show_Playlist_Videos') xbmcListItem = xbmcgui.ListItem(label=title, iconImage=thumbnail, thumbnailImage=thumbnail) item.set_xbmc_list_item_obj(xbmcListItem) items.append(item) if (len(items) == maxCount): item = ListItem() item.add_request_data('userId', userId) item.add_request_data('pageNbr', pageNbr + 1) item.set_next_action_name('show_Playlists') xbmcListItem = xbmcgui.ListItem(label='---- Next Page ---->') item.set_xbmc_list_item_obj(xbmcListItem) items.append(item) return items
def retieveTrailerStream(request_obj, response_obj): soup = None title = request_obj.get_data()['movieTitle'] if request_obj.get_data().has_key('movieInfo'): soup = BeautifulSoup.BeautifulSoup(request_obj.get_data()['movieInfo']) elif request_obj.get_data().has_key('moviePageUrl'): contentDiv = BeautifulSoup.SoupStrainer('div', {'dir': 'ltr'}) soup = HttpUtils.HttpClient().getBeautifulSoup( url=request_obj.get_data()['moviePageUrl'], parseOnlyThese=contentDiv) if soup is None: return videoLink = None Logger.logDebug(soup.prettify()) frameTag = soup.findChild('iframe', recursive=True) if frameTag is not None: videoLink = frameTag['src'] else: paramTag = soup.findChild('param', attrs={'name': 'movie'}, recursive=True) if paramTag is not None: videoLink = paramTag['value'] else: videoLink = soup.findChild('embed', recursive=True)['src'] request_obj.set_data({'videoLink': videoLink, 'videoTitle': title})
def retrievePlaylistVideoItems(playlistId): html = HttpUtils.HttpClient().getHtmlContent(url='http://www.dailymotion.com/playlist/' + playlistId) mediaLines = re.compile('<a dm:context="/playlist/' + playlistId + '[a-zA-Z0-9_\-]*" title="(.+?)" href="(.+?)"').findall(html) videoItemsList = [] for mediaTitle, mediaUrl in mediaLines: # @UnusedVariable videoItemsList.append('http://www.dailymotion.com' + mediaUrl) return videoItemsList
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
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)
def retrieveUserPlaylistVideos(playlistId, pageNbr=0, maxCount=50): url = 'http://gdata.youtube.com/feeds/api/playlists/' + playlistId + '?alt=json&v=2&max-results=' + str( maxCount) + '&start-index=' + str((pageNbr * maxCount) + 1) jData = json.loads(HttpUtils.HttpClient().getHtmlContent(url)) entries = jData['feed']['entry'] items = [] for entry in entries: videoId = entry['media$group']['yt$videoid']['$t'] title = unicode(entry['title']['$t']).encode('utf-8') thumbnail = 'http://i.ytimg.com/vi/' + videoId + '/default.jpg' item = ListItem() item.add_request_data( 'videoLink', 'http://www.youtube.com/watch?v=' + videoId + '&') item.add_request_data('videoTitle', title) item.set_next_action_name('play_Video') xbmcListItem = xbmcgui.ListItem(label=title, iconImage=thumbnail, thumbnailImage=thumbnail) item.set_xbmc_list_item_obj(xbmcListItem) items.append(item) if (len(items) == maxCount): item = ListItem() item.add_request_data('playlistId', playlistId) item.add_request_data('pageNbr', pageNbr + 1) item.set_next_action_name('show_Playlist_Videos') xbmcListItem = xbmcgui.ListItem(label='---- Next Page ---->') item.set_xbmc_list_item_obj(xbmcListItem) items.append(item) return items
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.megavideo.com/xml/videolink.php?v=' + str( video_id) html = HttpUtils.HttpClient().getHtmlContent(url=video_link) html = ''.join(html.splitlines()).replace('\t', '').replace('\'', '"') un = re.compile(' un="(.+?)"').findall(html) k1 = re.compile(' k1="(.+?)"').findall(html) k2 = re.compile(' k2="(.+?)"').findall(html) hashresult = decrypt(un[0], k1[0], k2[0]) s = re.compile(' s="(.+?)"').findall(html) title = re.compile(' title="(.+?)"').findall(html) videoTitle = urllib.unquote_plus(title[0].replace('+', ' ').replace( '.', ' ')) video_link = "http://www" + s[ 0] + ".megavideo.com/files/" + hashresult + "/" + videoTitle.replace( 'www.apnajoy.com', '') + ".flv" video_info.set_video_stopped(False) video_info.set_video_name(videoTitle) video_info.add_video_link(VIDEO_QUAL_SD, video_link) except: video_info.set_video_stopped(True) return video_info
def retrievePlaylistVideoItems(playlistId): html = HttpUtils.HttpClient().getHtmlContent(url='https://api.dailymotion.com/playlist/' + playlistId + '/videos') playlistJsonObj = json.loads(html) videoItemsList = [] for video in playlistJsonObj['list']: videoItemsList.append('http://www.dailymotion.com/video/' + str(video['id'])) return videoItemsList
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.vidpe.com/' + str(video_id) html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link) paramSet = re.compile( "return p\}\(\'(.+?)\',(\d\d),(\d\d),\'(.+?)\'").findall(html) video_info_link = AddonUtils.parsePackedValue( paramSet[0][0], int(paramSet[0][1]), int(paramSet[0][2]), paramSet[0][3].split('|')).replace('\\', '').replace('"', '\'') img_data = re.compile(r"addVariable\(\'image\',\'(.+?)\'\);").findall( video_info_link) if len(img_data) == 1: video_info.set_video_image(img_data[0]) video_link = re.compile("addVariable\(\'file\',\'(.+?)\'\);").findall( video_info_link)[0] 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
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://movzap.com/' + str(video_id) html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link) paramSet = re.compile("return p\}\(\'(.+?)\',(\d\d),(\d\d),\'(.+?)\'").findall(html) if len(paramSet) > 0: video_info_link = AddonUtils.parsePackedValue(paramSet[0][0], int(paramSet[0][1]), int(paramSet[0][2]), paramSet[0][3].split('|')).replace('\\', '').replace('"', '\'') img_data = re.compile(r"image:\'(.+?)\'").findall(video_info_link) if len(img_data) == 1: video_info.set_video_image(img_data[0]) video_link = re.compile(r"file:\'(.+?)\'").findall(video_info_link)[0] else: video_link = re.compile("'file': '(.+?)'").findall(html)[0] video_info.set_video_stopped(False) video_info.add_video_link(VIDEO_QUAL_SD, video_link) except Exception, e: Logger.logError(e) video_info.set_video_stopped(True)
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
def retrieveYouTubeUserInfo(userId): url = 'http://gdata.youtube.com/feeds/api/users/' + userId + '?alt=json&v=2' jData = json.loads(HttpUtils.HttpClient().getHtmlContent(url)) entry = jData['entry'] userInfo = {} userInfo['title'] = entry['title']['$t'] userInfo['thumbnail'] = entry['media$thumbnail']['url'] return userInfo
def retrievePlaylistVideoItems(playlistId): soupXml = HttpUtils.HttpClient().getBeautifulSoup( 'http://gdata.youtube.com/feeds/api/playlists/' + playlistId) videoItemsList = [] for media in soupXml.findChildren('media:player'): videoUrl = str(media['url']) videoItemsList.append(videoUrl) return videoItemsList
def retrieveReloadedPlaylistVideoItems(playlistId): soupXml = HttpUtils.HttpClient().getBeautifulSoup( 'http://gdata.youtube.com/feeds/api/playlists/' + playlistId) videoItemsList = [] for media in soupXml.findChildren('track'): videoUrl = media.findChild('location').getText() videoItemsList.append(videoUrl) return videoItemsList
def retrievePlaylistVideoItems(playlistId): Logger.logFatal('YouTube Playlist ID = ' + playlistId) soupXml = HttpUtils.HttpClient().getBeautifulSoup( 'http://gdata.youtube.com/feeds/api/playlists/' + playlistId + '?max-results=50') videoItemsList = [] for media in soupXml.findChildren('media:player'): videoUrl = str(media['url']) videoItemsList.append(videoUrl) return videoItemsList
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)
def cleanUp(): try: containerObj = Container() containerObj.cleanUpForService() del containerObj httpClient = HttpUtils.HttpClient() httpClient.cleanUp() del httpClient except: pass
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://my-entertainment.biz/' + str(video_id) print video_link HttpUtils.HttpClient().enableCookies() HttpUtils.HttpClient().getHtmlContent( url='http://my-entertainment.biz/forum/content.php') html = HttpUtils.HttpClient().getHtmlContent(url=video_link) print html match = re.compile("file=(.+?)&&").findall(html) video_link = urllib.unquote(match[0]) 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
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)
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() html = HttpUtils.HttpClient().getHtmlContent( url='http://www.vplay.ro/watch/' + str(video_id)) html = HttpUtils.HttpClient().getHtmlContent( url='http://www.vplay.ro/play/dinosaur.do', params={'key': str(video_id)}) params = HttpUtils.getUrlParams(html) video_link = HttpUtils.getRedirectedUrl(url=params['nqURL']) HttpUtils.HttpClient().disableCookies() video_info.set_video_stopped(False) video_info.add_video_link(VIDEO_QUAL_SD, video_link) video_info.set_video_image(params['th']) except: video_info.set_video_stopped(True) return video_info
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.vidbux.com/' + str(video_id) html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link) if re.search( r'Video bandwidth is expensive. We appreciate Your patience!', html): data = { 'method_free': 'Continue to Video', 'op': 'download1', 'usr_login': '', 'id': str(video_id) } html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link, params=data) HttpUtils.HttpClient().disableCookies() paramSet = re.compile( "return p\}\(\'(.+?)\',(\d\d),(\d\d),\'(.+?)\'").findall(html) video_info_link = AddonUtils.parsePackedValue( paramSet[0][0], int(paramSet[0][1]), int(paramSet[0][2]), paramSet[0][3].split('|')).replace('\\', '').replace('"', '\'') img_data = re.compile(r"addVariable\(\'image\',\'(.+?)\'\);").findall( video_info_link) if len(img_data) == 1: video_info.set_video_image(img_data[0]) video_link = re.compile("addVariable\(\'file\',\'(.+?)\'\);").findall( video_info_link)[0] 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
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() video_link = re.compile('<param name="src" value="(.+?)"').findall( html)[0] 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
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
def retrieveAudioInfo(audioUrl): url = 'https://api.soundcloud.com/' + audioUrl jObj = json.loads(HttpUtils.HttpClient().getHtmlContent(url=url)) video_info = VideoInfo() video_info.set_video_hosting_info(getVideoHostingInfo()) video_info.set_video_id(url) video_info.add_video_link(VIDEO_QUAL_SD, jObj['http_mp3_128_url'], addUserAgent=False, addReferer=False) video_info.set_video_image('') video_info.set_video_name('') Logger.logDebug(jObj['http_mp3_128_url']) video_info.set_video_stopped(False) return video_info