def resolve(self, url): link = client.source(url) url = re.compile('src="(.+?)" style').findall(link)[0] link = client.source(url) try: url = re.compile("window.atob\('(.+?)'\)\)").findall(link)[0] func_count = len(re.findall('window\.atob', link)) print(">>>>>>>> ILE", func_count) for _i in xrange(func_count): url = base64.decodestring(url) url = re.compile("<source src='(.+?)'").findall(url)[0] control.log(">> u2 %s |ENcoded %s", url, resolvers.request(url)) url = resolvers.request(url) except: try: url = re.compile('src="(.+?)"').findall(link)[0] host = urlparse.urlparse(url).netloc host = host.replace('www.', '').replace('embed.', '') host = host.rsplit('.', 1)[0] host = host.lower() host = client.replaceHTMLCodes(host) host = host.encode('utf-8') url = resolvers.request(url) except: pass #print("--------------->>>>> URL",url) return url
def get_sources(self, url, hosthdDict, hostDict, locDict): try: sources = [] if url == None: return sources myurl = urlparse.urljoin(self.base_link, '/forum/' + url) result = client2.http_get(myurl) result10 = result result10 = client.parseDOM(result10, 'div', attrs={'id': '5throw'})[0] result10 = client.parseDOM(result10, 'a', attrs={'rel': 'nofollow'}, ret='href') mquality = 'HD' if '1080'in url: mquality = '1080p' for i in result10: if 'mail.ru' in i: myresolve = resolvers.request(i) sources.append({'source': 'MAIL.RU', 'quality': mquality, 'provider': 'Dayt', 'url': myresolve}) if 'yadi.sk' in i: myresolve = resolvers.request(i) sources.append({'source': 'YADISK', 'quality': mquality, 'provider': 'Dayt', 'url': myresolve}) result = client.parseDOM(result, 'iframe', ret='src') result = [i for i in result if 'pasep' in i][0] result = client.source(result) result = client.parseDOM(result, 'iframe', ret='src')[0] result = client.source(result) result = client.parseDOM(result, 'iframe', ret='src')[0] links = resolvers.request(result) for i in links: sources.append({'source': 'gvideo', 'quality': i[1], 'provider': 'Dayt', 'url': i[0]}) return sources except: return sources
def resolve(self, url): link = client.source(url) url=re.compile('src="(.+?)" style').findall(link)[0] link = client.source(url) try: url=re.compile("window.atob\('(.+?)'\)\)").findall(link)[0] func_count = len(re.findall('window\.atob', link)) print(">>>>>>>> ILE",func_count) for _i in xrange(func_count): url = base64.decodestring(url) url=re.compile("<source src='(.+?)'").findall(url)[0] control.log(">> u2 %s |ENcoded %s",url, resolvers.request(url)) url = resolvers.request(url) except: try: url=re.compile('src="(.+?)"').findall(link)[0] host = urlparse.urlparse(url).netloc host = host.replace('www.', '').replace('embed.', '') host = host.rsplit('.', 1)[0] host = host.lower() host = client.replaceHTMLCodes(host) host = host.encode('utf-8') url = resolvers.request(url) except:pass #print("--------------->>>>> URL",url) return url
def get_sources(self, url, hosthdDict, hostDict, locDict): try: sources = [] if url == None: return sources url = urlparse.urljoin(self.base_link, url) path = urlparse.urlparse(url).path result = client.request(url) result = re.sub(r'[^\x00-\x7F]+','', result) result = client.parseDOM(result, 'li') result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in result] print result result = [i[0] for i in result if len(i[0]) > 0 and path in i[0][0] and len(i[1]) > 0 and 'ngilizce' in i[1][0]][0][0] url = urlparse.urljoin(self.base_link, result) result = client.request(url) result = re.sub(r'[^\x00-\x7F]+','', result) result = client.parseDOM(result, 'div', attrs = {'class': 'video-player'})[0] result = client.parseDOM(result, 'iframe', ret='src')[-1] control.log('RRRR %s' % result) try: url = base64.b64decode(urlparse.parse_qs(urlparse.urlparse(result).query)['id'][0]) if not url.startswith('http'): raise Exception() except: url = client.request(result) url = urllib.unquote_plus(url.decode('string-escape')) frame = client.parseDOM(url, 'iframe', ret='src') control.log('RRRR frame %s' % frame) if len(frame) > 0: url = client.request(frame[-1], redirect=False) else: url = re.compile('"(.+?)"').findall(url) url = [i for i in url if 'ok.ru' in i or 'vk.com' in i or 'openload.co' in i][0] try: url = 'http://ok.ru/video/%s' % urlparse.parse_qs(urlparse.urlparse(url).query)['mid'][0] except: pass if 'openload.co' in url: host = 'openload.co' ; direct = False ; url = [{'url': resolvers.request(url), 'quality': 'HD'}] elif 'ok.ru' in url: host = 'vk' ; direct = True ;url = [{'url': resolvers.request(url), 'quality': 'HD'}] elif 'vk.com' in url: host = 'vk' ; direct = True ; url = [{'url': resolvers.request(url), 'quality': 'HD'}] else: raise Exception() for i in url: sources.append({'source': host, 'quality': i['quality'], 'provider': 'Onlinedizi', 'url': i['url'], }) print "Sources", sources return sources except Exception as e: control.log('ERROR ONLINELID %s' % e) return sources
def get_sources(self, url, hosthdDict, hostDict, locDict): try: sources = [] if url == None: return sources url = urlparse.urljoin(self.base_link, url) path = urlparse.urlparse(url).path result = client.request(url) result = re.sub(r'[^\x00-\x7F]+','', result) result = client.parseDOM(result, 'li') result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in result] result = [i[0] for i in result if len(i[0]) > 0 and path in i[0][0] and len(i[1]) > 0 and 'Altyaz' in i[1][0]][0][0] url = urlparse.urljoin(self.base_link, result) result = client.request(url) result = re.sub(r'[^\x00-\x7F]+','', result) result = client.parseDOM(result, 'div', attrs = {'class': 'video-player'})[0] result = client.parseDOM(result, 'iframe', ret='src')[-1] control.log('RRRR %s' % result) try: url = base64.b64decode(urlparse.parse_qs(urlparse.urlparse(result).query)['id'][0]) if not url.startswith('http'): raise Exception() except: url = client.request(result) url = urllib.unquote_plus(url.decode('string-escape')) frame = client.parseDOM(url, 'iframe', ret='src') control.log('RRRR frame %s' % frame) if len(frame) > 0: url = [client.request(frame[-1], allow_redirect = False)] else: url = re.compile('"(.+?)"').findall(url) url = [i for i in url if 'ok.ru' in i or 'vk.com' in i or 'openload.co' in i][0] try: url = 'http://ok.ru/video/%s' % urlparse.parse_qs(urlparse.urlparse(url).query)['mid'][0] except: pass if 'openload.co' in url: host = 'openload.co' ; direct = False ; url = [{'url': resolvers.request(url), 'quality': 'HD'}] elif 'ok.ru' in url: host = 'vk' ; direct = True ;url = [{'url': resolvers.request(url), 'quality': 'HD'}] elif 'vk.com' in url: host = 'vk' ; direct = True ; url = [{'url': resolvers.request(url), 'quality': 'HD'}] else: raise Exception() for i in url: sources.append({'source': host, 'quality': i['quality'], 'provider': 'Onlinedizi', 'url': i['url'], }) return sources except: return sources
def get_sources(self, url, hosthdDict, hostDict, locDict): try: sources = [] if url == None: return sources url = urlparse.urljoin(self.base_link, url) result = cloudflare.source(url) result = client.parseDOM(result, 'a', ret='href') result = [i for i in result if '.php' in i and 'i=' in i] result = [client.replaceHTMLCodes(i) for i in result] try: url = [] for i in result: try: url.append(base64.decodestring(urlparse.parse_qs(urlparse.urlparse(i).query)['i'][0])) except: pass url = [i for i in url if i.startswith('http')][0] if not 'google' in url: raise Exception() url = resolvers.request(url) for i in url: sources.append({'source': 'GVideo', 'quality': i['quality'], 'provider': 'YIFYstream', 'url': i['url']}) except: pass try: url = [i for i in result if 'p=shtml' in i][0] url = client.source(url) try: sources.append({'source': 'GVideo', 'quality': '1080p', 'provider': 'YIFYstream', 'url': [i for i in client.parseDOM(url, 'source', ret='src', attrs = {'data-res': '1080'}) if 'google' in i][0]}) except: pass try: sources.append({'source': 'GVideo', 'quality': 'HD', 'provider': 'YIFYstream', 'url': [i for i in client.parseDOM(url, 'source', ret='src', attrs = {'data-res': '720'}) if 'google' in i][0]}) except: pass try: sources.append({'source': 'GVideo', 'quality': 'SD', 'provider': 'YIFYstream', 'url': [i for i in client.parseDOM(url, 'source', ret='src', attrs = {'data-res': '480'}) if 'google' in i][0]}) except: sources.append({'source': 'GVideo', 'quality': 'SD', 'provider': 'YIFYstream', 'url': [i for i in client.parseDOM(url, 'source', ret='src', attrs = {'data-res': '360'}) if 'google' in i][0]}) except: pass try: url = [i for i in result if 'p=open' in i][0] url = urlparse.parse_qs(urlparse.urlparse(i).query)['i'][0] url = 'https://openload.io/f/%s' % url url = resolvers.request(url) if url == None: raise Exception() sources.append({'source': 'Openload', 'quality': 'HD', 'provider': 'YIFYstream', 'url': url}) except: pass return sources except: return sources
def resolve(self, url): control.log('CDA-ONLINE RESOLVE URL %s' % url) try: if 'cdax.tv/link/redirect' in url: link = client.request(url) match = re.search('<a href="(.*?)" class="btn btn-primary">Link do strony z video</a>', link) if match: linkVideo = match.group(1).split('http')[-1] linkVideo = 'http' + linkVideo return resolvers.request(linkVideo) return resolvers.request(url) except: return
def get_sources(self, url, hosthdDict, hostDict, locDict): try: sources = [] if url == None: return sources result = cloudflare.source(urlparse.urljoin(self.base_link, url)) quality = client.parseDOM(result, 'title')[0] if '[CAM]' in quality or '[TS]' in quality: quality = 'CAM' elif '[SCREENER]' in quality: quality = 'SCR' else: quality = 'HD' result = client.parseDOM(result, 'div', attrs={'class': 'video-embed'})[0] try: url = client.parseDOM(result, 'iframe', ret='src') url = [i for i in url if 'openload' in i.lower()][0] url = resolvers.request(url) if url == None: raise Exception() sources.append({ 'source': 'Openload', 'quality': quality, 'provider': 'MoviesHD', 'url': url }) except: pass try: url = re.compile('hashkey=([\w]+)').findall(result) url += re.compile('ref=[\'|\"](.+?)[\'|\"]').findall(result) url = 'http://videomega.tv/cdn.php?ref=%s' % url[0] url = resolvers.request(url) if url == None: raise Exception() sources.append({ 'source': 'Videomega', 'quality': quality, 'provider': 'MoviesHD', 'url': url }) except: pass return sources except: return sources
def get_sources(self, url, hosthdDict, hostDict, locDict): try: sources = [] if url == None: return sources url = urlparse.urljoin(self.base_link, url) result = cloudflare.source(url) quality = re.compile('>Quality:(.+?)\n').findall(result)[0] if 'CAM' in quality or 'TS' in quality: quality = 'CAM' elif 'SCREENER' in quality: quality = 'SCR' else: quality = 'HD' try: url = client.parseDOM(result, 'iframe', ret='src') url = [i for i in url if 'videomega' in i.lower()][0] url = re.compile('[ref|hashkey]=([\w]+)').findall(url) url = 'http://videomega.tv/cdn.php?ref=%s' % url[0] url = resolvers.request(url) if url == None: raise Exception() sources.append({ 'source': 'Videomega', 'quality': quality, 'provider': 'Onlinemoviesv2', 'url': url }) except: pass try: url = client.parseDOM(result, 'iframe', ret='src') url = [i for i in url if 'openload' in i.lower()][0] url = resolvers.request(url) if url == None: raise Exception() sources.append({ 'source': 'Openload', 'quality': quality, 'provider': 'Onlinemoviesv2', 'url': url }) except: pass return sources except: return sources
def resolve(self, url): try: url = urlparse.urlparse(url).path result = '' links = [self.link_1, self.link_2, self.link_3] for base_link in links: result = client.request(urlparse.urljoin(base_link, url), headers=self.headers) if 'frame' in str(result): break #print("Result >>> result",result) url = re.compile('class=[\'|\"]*frame.+?src=[\'|\"|\s|\<]*(.+?)[\'|\"|\s|\>]').findall(result)[0] url = client.replaceHTMLCodes(url) print("Result >>> url",url) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['url'][0] except: pass print("Result >>> url2 >>>>>>>>>>>>>>>>>>>>",url) url = resolvers.request(url) print("Result >>> url3 +++++++++++++++++++++",url) return url except: return
def resolve(self, url): try: url = resolvers.request(url) #control.log("############IWATCH RESOLVE >>> url3 +++++++++++++++++++++ % s" % url) return url except: return
def GetSublinks(name,url,iconimage,fanart): sources = [] sname = [] n = 0 all_videos = regex_get_all(url, 'sublink:', '#') for a in all_videos: n = n+1 vurl = a.replace('sublink:','').replace('#','') sources.append(vurl) sname.append(name+ ' Source ['+str(n)+']') dialog = xbmcgui.Dialog() index = dialog.select('Select a source:', sname) if index>-1: url=sources[index] try: from resources.lib import resolvers url = resolvers.request(url) xbmc.Player().play(url) except: try: resolved=urlresolver.resolve(url) addon.resolve_url(resolved) except: stream_url = urlresolver.HostedMediaFile(url).resolve() liz = xbmcgui.ListItem(name, iconImage='DefaultVideo.png', thumbnailImage=iconimage) xbmc.Player ().play(stream_url,liz,False) addLink('Press back to exit','',1,icon,fanart)
def PLAYMOVIE(name,url): if".m3u8" in url: addon.resolve_url(url) elif "iptvnation" in url: # try:link = open_url(url) # except:link = cloudflare.request(url, mobile=True) addon.resolve_url(url) elif ".ts=" in url: addon.resolve_url(url) elif "rtmp://" in url: addon.resolve_url(url) elif "pompa1.nosvideo" in url: addon.resolve_url(url) else: try: resolved=urlresolver.resolve(url) addon.resolve_url(resolved) except: try: stream_url = urlresolver.HostedMediaFile(url).resolve() liz = xbmcgui.ListItem(name, iconImage='DefaultVideo.png', thumbnailImage=iconimage) xbmc.Player ().play(stream_url,liz,False) except: try: from resources.lib import resolvers url = resolvers.request(url) addon.resolve_url(url) except: pass addLink('Press back to exit','',1,icon,fanart)
def resolve(self, url): try: if 'openload.co' in url or 'streamango' in url or 'thevideo.me' in url : url = resolvers.request(url) return url except: return
def resolve(self, url): control.log('RESSS %s' % url) try: if 'openload.co' in url: url = resolvers.request(url) return url if 'movieshd' in url: r = self.request(url)[0] r = re.findall("file: '([^']+)',label: '(\d+)", r) r1 = sorted(r, key=lambda k: k[1]) r2 = client.replaceHTMLCodes(r1[-1][0]) #r2 = client.googlepass(url) return r2 if 'seriesonline' in url: r = self.request(url)[0] r = [client.parseDOM(r, 'source', ret='src'), client.parseDOM(r,'source', ret='label')] r = zip(r[0],r[1]) r1 = sorted(r, key=lambda k: k[1]) r2 = client.replaceHTMLCodes(r1[-2][0]) r2 = client.googlepass(url) return r2 return False except Exception as e: control.log('RESSS %S' % e) pass
def __resolve(self, result): try: result = client.parseDOM(result, "div", attrs={"id": "player"})[0] try: url = client.parseDOM(result, "iframe", ret="src")[0] except: pass try: url = base64.b64decode(re.compile('decode\("(.+?)"').findall(result)[0]) except: pass if "proxy.link=tunemovie" in url: url = re.compile("proxy[.]link=tunemovie[*]([^&]+)").findall(url)[-1] key = base64.b64decode("Q05WTmhPSjlXM1BmeFd0UEtiOGg=") decrypter = pyaes.Decrypter(pyaes.AESModeOfOperationECB(key + (24 - len(key)) * "\0")) url = url.decode("hex") url = decrypter.feed(url) + decrypter.feed() url = resolvers.request(url) return url except: return
def resolve(self, url): try: if 'openload.co' in url or 'streamango' in url or 'thevideo.me' in url: url = resolvers.request(url) return url except: return
def check(self, i): try: url = client.replaceHTMLCodes(i[0]) url = url.encode('utf-8') host = urlparse.urlparse(url).netloc host = host.replace('www.', '').replace('embed.', '') host = host.rsplit('.', 1)[0] host = host.lower() host = client.replaceHTMLCodes(host) host = host.encode('utf-8') if host in i[2]: check = url = resolvers.request(url) elif host == 'hugefiles': check = hugefiles.check(url) elif host == 'uploadrocket': check = uploadrocket.check(url) elif host == 'openload': check = openload.check(url) else: raise Exception() if check == None or check == False: raise Exception() self.sources.append({ 'source': host, 'quality': i[1], 'provider': 'Oneclickwatch', 'url': url }) except: pass
def get_sources(self, url, hosthdDict, hostDict, locDict): try: sources = [] if url == None: return sources url = urlparse.urljoin(self.base_link, url) result = client.source(url) quality = client.parseDOM(result, 'li') quality = [i for i in quality if '>Quality :<' in i][0] quality = client.parseDOM(quality, 'p')[0] if 'CAM' in quality or 'TS' in quality: quality = 'CAM' elif 'SCREENER' in quality: quality = 'SCR' else: quality = 'HD' url = client.parseDOM(result, 'iframe', ret='src') url = [i for i in url if 'videomega' in i.lower()][0] url = re.compile('[ref|hashkey]=([\w]+)').findall(url) url = 'http://videomega.tv/cdn.php?ref=%s' % url[0] url = resolvers.request(url) if url == None: raise Exception() sources.append({'source': 'Videomega', 'quality': quality, 'provider': 'Movietubev2', 'url': url}) return sources except: return sources
def get_sources(self, url, hosthdDict, hostDict, locDict): try: quality = '' sources = [] if url == None: return sources try: result = client.source(self.movie_link % (self.base_link_1, url)) except: result = '' result = result.decode('iso-8859-1').encode('utf-8') result = result.replace('\n','') try : # get bluray source url = client.parseDOM(result, "a", attrs={"class": "btn btn-custom btn-custom-large btn-blue btn-icon "}, ret="href")[0] if 'playsominal' in url: raise Exception() quality = "HD" sources.append({'source': "playsominal", 'quality': quality, 'provider': 'PlayIndiaFilms', 'url': url}) except : pass try : # get DVD source quality = client.parseDOM(result, "span", attrs={"class": "btn btn-custom btn-custom-large btn-yellow "})[0] quality = client.parseDOM(quality, "strong")[0] quality = "HD" except : quality = 'CAM' pass result = client.parseDOM(result, "p", attrs= {"style":"text-align: center;"}) try : host = '' urls = [] for tag in result: if len(client.parseDOM(tag, "span", attrs= {"class":"btn btn-custom btn-custom-large btn-black "})) > 0: link = client.parseDOM(tag, "strong") if len(urls) > 0 : url = "##".join(urls) sources.append({'source': host, 'parts' : str(len(urls)), 'quality': quality, 'provider': 'PlayIndiaFilms', 'url': url, 'direct':True}) urls = [] else : link = client.parseDOM(tag, "a", attrs= {"class":"btn btn-custom btn-medium btn-red btn-red "}, ret="href") if len(link) > 0 : host = re.compile('\.(.+?)\.').findall(link[0])[0] urls.append(resolvers.request(link[0])) if len(urls) > 0: url = "##".join(urls) sources.append({'source': host, 'parts': str(len(urls)), 'quality': quality, 'provider': 'PlayIndiaFilms', 'url': url, 'direct':True}) except: pass return sources except: return sources
def __resolve(self, result): try: result = client.parseDOM(result, 'div', attrs={'id': 'player'})[0] try: url = client.parseDOM(result, 'iframe', ret='src')[0] except: pass try: url = base64.b64decode( re.compile('decode\("(.+?)"').findall(result)[0]) except: pass if 'proxy.link=tunemovie' in url: url = re.compile('proxy[.]link=tunemovie[*]([^&]+)').findall( url)[-1] key = base64.b64decode('Q05WTmhPSjlXM1BmeFd0UEtiOGg=') decrypter = pyaes.Decrypter( pyaes.AESModeOfOperationECB(key + (24 - len(key)) * '\0')) url = url.decode('hex') url = decrypter.feed(url) + decrypter.feed() url = resolvers.request(url) return url except: return
def resolve(self, url): try: post = urlparse.parse_qsl(urlparse.urlparse(url).query, True) post = [i for i in post if not i[0] == 'image'] post = urllib.urlencode(post) query = urlparse.parse_qs(urlparse.urlparse(url).query) image = urllib.unquote(query['image'][0]) ref = self.video_link % query['t'][0] url = urlparse.urlparse(url).path url += '?s=%s&t=%s&app_id=Genesis' % (query['id'][0], query['t'][0]) links = [self.link_1, self.link_2] for base_link in links: referer = urlparse.urljoin(base_link, ref) cookie = client.request(referer, output='cookie') result = client.request(urlparse.urljoin(base_link, url), post=post, referer=referer, cookie=cookie) if 'com_iceplayer' in str(result): break url = urlparse.parse_qs(urlparse.urlparse(result).query)['url'][0] url = resolvers.request(url) if not url == None: self.img_parser(image, referer) return url except: return
def resolve(self, url): try: url = client.request(url, output='geturl') url = resolvers.request(url) return url except: return
def resolve(self, url): try: url = urlparse.urlparse(url).path result = '' links = [self.link_1, self.link_2, self.link_3] for base_link in links: result = client.request(urlparse.urljoin(base_link, url), headers=self.headers) if 'frame' in str(result): break #print("Result >>> result",result) url = re.compile( 'class=[\'|\"]*frame.+?src=[\'|\"|\s|\<]*(.+?)[\'|\"|\s|\>]' ).findall(result)[0] url = client.replaceHTMLCodes(url) print("Result >>> url", url) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['url'][0] except: pass print("Result >>> url2 >>>>>>>>>>>>>>>>>>>>", url) url = resolvers.request(url) print("Result >>> url3 +++++++++++++++++++++", url) return url except: return
def resolve(self, url): try: headers = {'Referer': url} url = urlparse.urljoin(self.base_link, url) result = client.source(url, headers=headers) if 'load_embed' in url: result = json.loads(result) result = resolvers.request(result['embed_url']) return result except: pass try: url = re.compile( '"?file"?\s*=\s*"(.+?)"\s+"?label"?\s*=\s*"(\d+)p?"').findall( result) url = [(int(i[1]), i[0]) for i in url] url = sorted(url, key=lambda k: k[0]) url = url[-1][1] url = client.request(url, output='geturl') if 'requiressl=yes' in url: url = url.replace('http://', 'https://') else: url = url.replace('https://', 'http://') return url except: pass
def resolve(self, url): link = client.source(url) url=re.compile('src="(.+?)" style').findall(link)[0] link = client.source(url) try: url=re.compile("window.atob\('(.+?)'\)\)").findall(link)[0] content=base64.b64decode(url) data=base64.b64decode(content) url=re.compile("<source src='(.+?)'").findall(data)[0] url = url + 'User-Agent%3DMozilla%2F5.0%20(X11%3B%20Linux%20x86_64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F48.0.2564.82%20Safari%2F537.36%27' except: try: url=re.compile('src="(.+?)"').findall(link)[0] host = urlparse.urlparse(url).netloc host = host.replace('www.', '').replace('embed.', '') host = host.rsplit('.', 1)[0] host = host.lower() host = client.replaceHTMLCodes(host) host = host.encode('utf-8') url = resolvers.request(url) except:pass return url
def PLAYMOVIE(name, url): if ".m3u8" in url: addon.resolve_url(url) elif "iptvnation" in url: # try:link = open_url(url) # except:link = cloudflare.request(url, mobile=True) addon.resolve_url(url) elif ".ts=" in url: addon.resolve_url(url) elif "rtmp://" in url: addon.resolve_url(url) elif "pompa1.nosvideo" in url: addon.resolve_url(url) else: try: resolved = urlresolver.resolve(url) addon.resolve_url(resolved) except: try: stream_url = urlresolver.HostedMediaFile(url).resolve() liz = xbmcgui.ListItem(name, iconImage='DefaultVideo.png', thumbnailImage=iconimage) xbmc.Player().play(stream_url, liz, False) except: try: from resources.lib import resolvers url = resolvers.request(url) addon.resolve_url(url) except: pass addLink('Press back to exit', '', 1, icon, fanart)
def GetSublinks(name, url, iconimage, fanart): sources = [] sname = [] n = 0 all_videos = regex_get_all(url, 'sublink:', '#') for a in all_videos: n = n + 1 vurl = a.replace('sublink:', '').replace('#', '') sources.append(vurl) sname.append(name + ' Source [' + str(n) + ']') dialog = xbmcgui.Dialog() index = dialog.select('Select a source:', sname) if index > -1: url = sources[index] try: from resources.lib import resolvers url = resolvers.request(url) xbmc.Player().play(url) except: try: resolved = urlresolver.resolve(url) addon.resolve_url(resolved) except: stream_url = urlresolver.HostedMediaFile(url).resolve() liz = xbmcgui.ListItem(name, iconImage='DefaultVideo.png', thumbnailImage=iconimage) xbmc.Player().play(stream_url, liz, False) addLink('Press back to exit', '', 1, icon, fanart)
def resolve(self, url): try: url = url.replace('/json/', '/') url = urlparse.urlparse(url).path class NoRedirection(urllib2.HTTPErrorProcessor): def http_response(self, request, response): return response result = '' links = [self.link_1, self.link_2, self.link_3] for base_link in links: try: opener = urllib2.build_opener(NoRedirection) opener.addheaders = [('User-Agent', 'Apple-iPhone')] opener.addheaders = [('Referer', base_link + url)] response = opener.open(base_link + url) result = response.read() response.close() except: result = '' if 'myButton' in result: break url = re.compile('class=[\'|\"]*myButton.+?href=[\'|\"|\s|\<]*(.+?)[\'|\"|\s|\>]').findall(result)[0] url = client.replaceHTMLCodes(url) try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0] except: pass try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['url'][0] except: pass url = resolvers.request(url) return url except: return
def resolve(self, url): try: headers = {'Referer': url} url = urlparse.urljoin(self.base_link, url) result = client.request(url, headers=headers) if 'load_embed' in url: result = json.loads(result) result = resolvers.request(result['embed_url']) return result except: pass try: url = re.compile('"?file"?\s*=\s*"(.+?)"\s+"?label"?\s*=\s*"(\d+)p?"').findall(result) url = [(int(i[1]), i[0]) for i in url] url = sorted(url, key=lambda k: k[0]) url = url[-1][1] url = client.request(url, output='geturl') if 'requiressl=yes' in url: url = url.replace('http://', 'https://') else: url = url.replace('https://', 'http://') return url except: pass
def resolve(self, url): control.log('RESSS %s' % url) try: if 'openload.co' in url: url = resolvers.request(url) return url if 'movieshd' in url: r = self.request(url)[0] r = re.findall("file: '([^']+)',label: '(\d+)", r) r1 = sorted(r, key=lambda k: k[1]) r2 = client.replaceHTMLCodes(r1[-1][0]) #r2 = client.googlepass(url) return r2 if 'seriesonline' in url: r = self.request(url)[0] r = [ client.parseDOM(r, 'source', ret='src'), client.parseDOM(r, 'source', ret='label') ] r = zip(r[0], r[1]) r1 = sorted(r, key=lambda k: k[1]) r2 = client.replaceHTMLCodes(r1[-2][0]) r2 = client.googlepass(url) return r2 return False except Exception as e: control.log('RESSS %S' % e) pass
def resolve(self, url): try: myurl = url.split('?') control.log('ALLTUBE RESOLVE URL %s' % str(myurl)) control.log('ALLTUBE RESOLVE URL %s' % str(myurl[-1].decode('base64'))) try: mycookie = client.request(myurl[0], output='cookie', error=True) tmp = 'ZGVmIGFiYyhpbl9hYmMpOg0KICAgIGRlZiByaGV4KGEpOg0KICAgICAgICBoZXhfY2hyID0gJzAxMjM0NTY3ODlhYmNkZWYnDQogICAgICAgIHJldCA9ICcnDQogICAgICAgIGZvciBpIGluIHJhbmdlKDQpOg0KICAgICAgICAgICAgcmV0ICs9IGhleF9jaHJbKGEgPj4gKGkgKiA4ICsgNCkpICYgMHgwRl0gKyBoZXhfY2hyWyhhID4+IChpICogOCkpICYgMHgwRl0NCiAgICAgICAgcmV0dXJuIHJldA0KICAgIGRlZiBoZXgodGV4dCk6DQogICAgICAgIHJldCA9ICcnDQogICAgICAgIGZvciBpIGluIHJhbmdlKGxlbih0ZXh0KSk6DQogICAgICAgICAgICByZXQgKz0gcmhleCh0ZXh0W2ldKQ0KICAgICAgICByZXR1cm4gcmV0DQogICAgZGVmIGFkZDMyKGEsIGIpOg0KICAgICAgICByZXR1cm4gKGEgKyBiKSAmIDB4RkZGRkZGRkYNCiAgICBkZWYgY21uKGEsIGIsIGMsIGQsIGUsIGYpOg0KICAgICAgICBiID0gYWRkMzIoYWRkMzIoYiwgYSksIGFkZDMyKGQsIGYpKTsNCiAgICAgICAgcmV0dXJuIGFkZDMyKChiIDw8IGUpIHwgKGIgPj4gKDMyIC0gZSkpLCBjKQ0KICAgIGRlZiBmZihhLCBiLCBjLCBkLCBlLCBmLCBnKToNCiAgICAgICAgcmV0dXJuIGNtbigoYiAmIGMpIHwgKCh+YikgJiBkKSwgYSwgYiwgZSwgZiwgZykNCiAgICBkZWYgZ2coYSwgYiwgYywgZCwgZSwgZiwgZyk6DQogICAgICAgIHJldHVybiBjbW4oKGIgJiBkKSB8IChjICYgKH5kKSksIGEsIGIsIGUsIGYsIGcpDQogICAgZGVmIGhoKGEsIGIsIGMsIGQsIGUsIGYsIGcpOg0KICAgICAgICByZXR1cm4gY21uKGIgXiBjIF4gZCwgYSwgYiwgZSwgZiwgZykNCiAgICBkZWYgaWkoYSwgYiwgYywgZCwgZSwgZiwgZyk6DQogICAgICAgIHJldHVybiBjbW4oYyBeIChiIHwgKH5kKSksIGEsIGIsIGUsIGYsIGcpDQogICAgZGVmIGNyeXB0Y3ljbGUodGFiQSwgdGFiQik6DQogICAgICAgIGEgPSB0YWJBWzBdDQogICAgICAgIGIgPSB0YWJBWzFdDQogICAgICAgIGMgPSB0YWJBWzJdDQogICAgICAgIGQgPSB0YWJBWzNdDQogICAgICAgIGEgPSBmZihhLCBiLCBjLCBkLCB0YWJCWzBdLCA3LCAtNjgwODc2OTM2KTsNCiAgICAgICAgZCA9IGZmKGQsIGEsIGIsIGMsIHRhYkJbMV0sIDEyLCAtMzg5NTY0NTg2KTsNCiAgICAgICAgYyA9IGZmKGMsIGQsIGEsIGIsIHRhYkJbMl0sIDE3LCA2MDYxMDU4MTkpOw0KICAgICAgICBiID0gZmYoYiwgYywgZCwgYSwgdGFiQlszXSwgMjIsIC0xMDQ0NTI1MzMwKTsNCiAgICAgICAgYSA9IGZmKGEsIGIsIGMsIGQsIHRhYkJbNF0sIDcsIC0xNzY0MTg4OTcpOw0KICAgICAgICBkID0gZmYoZCwgYSwgYiwgYywgdGFiQls1XSwgMTIsIDEyMDAwODA0MjYpOw0KICAgICAgICBjID0gZmYoYywgZCwgYSwgYiwgdGFiQls2XSwgMTcsIC0xNDczMjMxMzQxKTsNCiAgICAgICAgYiA9IGZmKGIsIGMsIGQsIGEsIHRhYkJbN10sIDIyLCAtNDU3MDU5ODMpOw0KICAgICAgICBhID0gZmYoYSwgYiwgYywgZCwgdGFiQls4XSwgNywgMTc3MDAzNTQxNik7DQogICAgICAgIGQgPSBmZihkLCBhLCBiLCBjLCB0YWJCWzldLCAxMiwgLTE5NTg0MTQ0MTcpOw0KICAgICAgICBjID0gZmYoYywgZCwgYSwgYiwgdGFiQlsxMF0sIDE3LCAtNDIwNjMpOw0KICAgICAgICBiID0gZmYoYiwgYywgZCwgYSwgdGFiQlsxMV0sIDIyLCAtMTk5MDQwNDE2Mik7DQogICAgICAgIGEgPSBmZihhLCBiLCBjLCBkLCB0YWJCWzEyXSwgNywgMTgwNDYwMzY4Mik7DQogICAgICAgIGQgPSBmZihkLCBhLCBiLCBjLCB0YWJCWzEzXSwgMTIsIC00MDM0MTEwMSk7DQogICAgICAgIGMgPSBmZihjLCBkLCBhLCBiLCB0YWJCWzE0XSwgMTcsIC0xNTAyMDAyMjkwKTsNCiAgICAgICAgYiA9IGZmKGIsIGMsIGQsIGEsIHRhYkJbMTVdLCAyMiwgMTIzNjUzNTMyOSk7DQogICAgICAgIGEgPSBnZyhhLCBiLCBjLCBkLCB0YWJCWzFdLCA1LCAtMTY1Nzk2NTEwKTsNCiAgICAgICAgZCA9IGdnKGQsIGEsIGIsIGMsIHRhYkJbNl0sIDksIC0xMDY5NTAxNjMyKTsNCiAgICAgICAgYyA9IGdnKGMsIGQsIGEsIGIsIHRhYkJbMTFdLCAxNCwgNjQzNzE3NzEzKTsNCiAgICAgICAgYiA9IGdnKGIsIGMsIGQsIGEsIHRhYkJbMF0sIDIwLCAtMzczODk3MzAyKTsNCiAgICAgICAgYSA9IGdnKGEsIGIsIGMsIGQsIHRhYkJbNV0sIDUsIC03MDE1NTg2OTEpOw0KICAgICAgICBkID0gZ2coZCwgYSwgYiwgYywgdGFiQlsxMF0sIDksIDM4MDE2MDgzKTsNCiAgICAgICAgYyA9IGdnKGMsIGQsIGEsIGIsIHRhYkJbMTVdLCAxNCwgLTY2MDQ3ODMzNSk7DQogICAgICAgIGIgPSBnZyhiLCBjLCBkLCBhLCB0YWJCWzRdLCAyMCwgLTQwNTUzNzg0OCk7DQogICAgICAgIGEgPSBnZyhhLCBiLCBjLCBkLCB0YWJCWzldLCA1LCA1Njg0NDY0MzgpOw0KICAgICAgICBkID0gZ2coZCwgYSwgYiwgYywgdGFiQlsxNF0sIDksIC0xMDE5ODAzNjkwKTsNCiAgICAgICAgYyA9IGdnKGMsIGQsIGEsIGIsIHRhYkJbM10sIDE0LCAtMTg3MzYzOTYxKTsNCiAgICAgICAgYiA9IGdnKGIsIGMsIGQsIGEsIHRhYkJbOF0sIDIwLCAxMTYzNTMxNTAxKTsNCiAgICAgICAgYSA9IGdnKGEsIGIsIGMsIGQsIHRhYkJbMTNdLCA1LCAtMTQ0NDY4MTQ2Nyk7DQogICAgICAgIGQgPSBnZyhkLCBhLCBiLCBjLCB0YWJCWzJdLCA5LCAtNTE0MDM3ODQpOw0KICAgICAgICBjID0gZ2coYywgZCwgYSwgYiwgdGFiQls3XSwgMTQsIDE3MzUzMjg0NzMpOw0KICAgICAgICBiID0gZ2coYiwgYywgZCwgYSwgdGFiQlsxMl0sIDIwLCAtMTkyNjYwNzczNCk7DQogICAgICAgIGEgPSBoaChhLCBiLCBjLCBkLCB0YWJCWzVdLCA0LCAtMzc4NTU4KTsNCiAgICAgICAgZCA9IGhoKGQsIGEsIGIsIGMsIHRhYkJbOF0sIDExLCAtMjAyMjU3NDQ2Myk7DQogICAgICAgIGMgPSBoaChjLCBkLCBhLCBiLCB0YWJCWzExXSwgMTYsIDE4MzkwMzA1NjIpOw0KICAgICAgICBiID0gaGgoYiwgYywgZCwgYSwgdGFiQlsxNF0sIDIzLCAtMzUzMDk1NTYpOw0KICAgICAgICBhID0gaGgoYSwgYiwgYywgZCwgdGFiQlsxXSwgNCwgLTE1MzA5OTIwNjApOw0KICAgICAgICBkID0gaGgoZCwgYSwgYiwgYywgdGFiQls0XSwgMTEsIDEyNzI4OTMzNTMpOw0KICAgICAgICBjID0gaGgoYywgZCwgYSwgYiwgdGFiQls3XSwgMTYsIC0xNTU0OTc2MzIpOw0KICAgICAgICBiID0gaGgoYiwgYywgZCwgYSwgdGFiQlsxMF0sIDIzLCAtMTA5NDczMDY0MCk7DQogICAgICAgIGEgPSBoaChhLCBiLCBjLCBkLCB0YWJCWzEzXSwgNCwgNjgxMjc5MTc0KTsNCiAgICAgICAgZCA9IGhoKGQsIGEsIGIsIGMsIHRhYkJbMF0sIDExLCAtMzU4NTM3MjIyKTsNCiAgICAgICAgYyA9IGhoKGMsIGQsIGEsIGIsIHRhYkJbM10sIDE2LCAtNzIyNTIxOTc5KTsNCiAgICAgICAgYiA9IGhoKGIsIGMsIGQsIGEsIHRhYkJbNl0sIDIzLCA3NjAyOTE4OSk7DQogICAgICAgIGEgPSBoaChhLCBiLCBjLCBkLCB0YWJCWzldLCA0LCAtNjQwMzY0NDg3KTsNCiAgICAgICAgZCA9IGhoKGQsIGEsIGIsIGMsIHRhYkJbMTJdLCAxMSwgLTQyMTgxNTgzNSk7DQogICAgICAgIGMgPSBoaChjLCBkLCBhLCBiLCB0YWJCWzE1XSwgMTYsIDUzMDc0MjUyMCk7DQogICAgICAgIGIgPSBoaChiLCBjLCBkLCBhLCB0YWJCWzJdLCAyMywgLTk5NTMzODY1MSk7DQogICAgICAgIGEgPSBpaShhLCBiLCBjLCBkLCB0YWJCWzBdLCA2LCAtMTk4NjMwODQ0KTsNCiAgICAgICAgZCA9IGlpKGQsIGEsIGIsIGMsIHRhYkJbN10sIDEwLCAxMTI2ODkxNDE1KTsNCiAgICAgICAgYyA9IGlpKGMsIGQsIGEsIGIsIHRhYkJbMTRdLCAxNSwgLTE0MTYzNTQ5MDUpOw0KICAgICAgICBiID0gaWkoYiwgYywgZCwgYSwgdGFiQls1XSwgMjEsIC01NzQzNDA1NSk7DQogICAgICAgIGEgPSBpaShhLCBiLCBjLCBkLCB0YWJCWzEyXSwgNiwgMTcwMDQ4NTU3MSk7DQogICAgICAgIGQgPSBpaShkLCBhLCBiLCBjLCB0YWJCWzNdLCAxMCwgLTE4OTQ5ODY2MDYpOw0KICAgICAgICBjID0gaWkoYywgZCwgYSwgYiwgdGFiQlsxMF0sIDE1LCAtMTA1MTUyMyk7DQogICAgICAgIGIgPSBpaShiLCBjLCBkLCBhLCB0YWJCWzFdLCAyMSwgLTIwNTQ5MjI3OTkpOw0KICAgICAgICBhID0gaWkoYSwgYiwgYywgZCwgdGFiQls4XSwgNiwgMTg3MzMxMzM1OSk7DQogICAgICAgIGQgPSBpaShkLCBhLCBiLCBjLCB0YWJCWzE1XSwgMTAsIC0zMDYxMTc0NCk7DQogICAgICAgIGMgPSBpaShjLCBkLCBhLCBiLCB0YWJCWzZdLCAxNSwgLTE1NjAxOTgzODApOw0KICAgICAgICBiID0gaWkoYiwgYywgZCwgYSwgdGFiQlsxM10sIDIxLCAxMzA5MTUxNjQ5KTsNCiAgICAgICAgYSA9IGlpKGEsIGIsIGMsIGQsIHRhYkJbNF0sIDYsIC0xNDU1MjMwNzApOw0KICAgICAgICBkID0gaWkoZCwgYSwgYiwgYywgdGFiQlsxMV0sIDEwLCAtMTEyMDIxMDM3OSk7DQogICAgICAgIGMgPSBpaShjLCBkLCBhLCBiLCB0YWJCWzJdLCAxNSwgNzE4Nzg3MjU5KTsNCiAgICAgICAgYiA9IGlpKGIsIGMsIGQsIGEsIHRhYkJbOV0sIDIxLCAtMzQzNDg1NTUxKTsNCiAgICAgICAgdGFiQVswXSA9IGFkZDMyKGEsIHRhYkFbMF0pOw0KICAgICAgICB0YWJBWzFdID0gYWRkMzIoYiwgdGFiQVsxXSk7DQogICAgICAgIHRhYkFbMl0gPSBhZGQzMihjLCB0YWJBWzJdKTsNCiAgICAgICAgdGFiQVszXSA9IGFkZDMyKGQsIHRhYkFbM10pDQogICAgZGVmIGNyeXB0YmxrKHRleHQpOg0KICAgICAgICByZXQgPSBbXQ0KICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCA2NCwgNCk6DQogICAgICAgICAgICByZXQuYXBwZW5kKG9yZCh0ZXh0W2ldKSArIChvcmQodGV4dFtpKzFdKSA8PCA4KSArIChvcmQodGV4dFtpKzJdKSA8PCAxNikgKyAob3JkKHRleHRbaSszXSkgPDwgMjQpKQ0KICAgICAgICByZXR1cm4gcmV0DQogICAgZGVmIGpjc3lzKHRleHQpOg0KICAgICAgICB0eHQgPSAnJzsNCiAgICAgICAgdHh0TGVuID0gbGVuKHRleHQpDQogICAgICAgIHJldCA9IFsxNzMyNTg0MTkzLCAtMjcxNzMzODc5LCAtMTczMjU4NDE5NCwgMjcxNzMzODc4XQ0KICAgICAgICBpID0gNjQNCiAgICAgICAgd2hpbGUgaSA8PSBsZW4odGV4dCk6DQogICAgICAgICAgICBjcnlwdGN5Y2xlKHJldCwgY3J5cHRibGsodGV4dFsnc3Vic3RyaW5nJ10oaSAtIDY0LCBpKSkpDQogICAgICAgICAgICBpICs9IDY0DQogICAgICAgIHRleHQgPSB0ZXh0W2kgLSA2NDpdDQogICAgICAgIHRtcCA9IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwXQ0KICAgICAgICBpID0gMA0KICAgICAgICB3aGlsZSBpIDwgbGVuKHRleHQpOg0KICAgICAgICAgICAgdG1wW2kgPj4gMl0gfD0gb3JkKHRleHRbaV0pIDw8ICgoaSAlIDQpIDw8IDMpDQogICAgICAgICAgICBpICs9IDENCiAgICAgICAgdG1wW2kgPj4gMl0gfD0gMHg4MCA8PCAoKGkgJSA0KSA8PCAzKQ0KICAgICAgICBpZiBpID4gNTU6DQogICAgICAgICAgICBjcnlwdGN5Y2xlKHJldCwgdG1wKTsNCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDE2KToNCiAgICAgICAgICAgICAgICB0bXBbaV0gPSAwDQogICAgICAgIHRtcFsxNF0gPSB0eHRMZW4gKiA4Ow0KICAgICAgICBjcnlwdGN5Y2xlKHJldCwgdG1wKTsNCiAgICAgICAgcmV0dXJuIHJldA0KICAgIGRlZiByZXplZG93YSh0ZXh0KToNCiAgICAgICAgcmV0dXJuIGhleChqY3N5cyh0ZXh0KSkNCiAgICByZXR1cm4gcmV6ZWRvd2EoaW5fYWJjKQ0K' tmp = base64.b64decode(tmp) _myFun = compile(tmp, '', 'exec') vGlobals = { "__builtins__": None, 'len': len, 'list': list, 'ord': ord, 'range': range } vLocals = {'abc': ''} exec _myFun in vGlobals, vLocals myFun1 = vLocals['abc'] except Exception as e: control.log('Altube err1 [%s]' % e) control.log('ALLTUBE cokie URL %s' % str(mycookie)) data = client.request(urlparse.urljoin(self.base_link, '/jsverify.php?op=tag'), cookie=mycookie) try: data = client.byteify(json.loads(data)) d = {} for i in range(len(data['key'])): d[data['key'][i]] = data['hash'][i] tmp = '' for k in sorted(d.keys()): tmp += d[k] mycookie = 'tmvh=%s;%s' % (myFun1(tmp), mycookie) except Exception as e: control.log('Altube err3 [%s]' % e) control.log("XXXXXXXXXXX %s" % mycookie) # http://alltube.tv/special.php?hosting=openload&id=oU9oQLz4F-U&width=673&height=471.09999999999997 link = client.request(myurl[-1].decode('base64') + '&width=673&height=471.09999999999997', cookie=mycookie) match = re.search('<iframe src="(.+?)"', link) if match: control.log('Altube link [%s]' % match.group(1)) linkVideo = match.group(1) return resolvers.request(linkVideo) return except: return
def resolve(self, url): try: post = urlparse.parse_qsl(urlparse.urlparse(url).query, True) post = [i for i in post if not i[0] == 'image'] post = urllib.urlencode(post) query = urlparse.parse_qs(urlparse.urlparse(url).query) ref = self.video_link % query['t'][0] url = urlparse.urlparse(url).path url += '?s=%s&t=%s' % (query['id'][0], query['t'][0]) links = [self.link_1] for base_link in links: referer = urlparse.urljoin(base_link, ref) cookie = client.request(referer, output='cookie') result = client.request(urlparse.urljoin(base_link, url), post=post, referer=referer, cookie=cookie) if 'com_iceplayer' in str(result): break url = urlparse.parse_qs(urlparse.urlparse(result).query)['url'][0] url = resolvers.request(url) return url except: return
def resolve(self, url): try: control.log('ALLTUBE RESOLVE URL %s' % url) #url = client.request(url, output='geturl') url = resolvers.request(url) return url except: return
def resolve(self, url): try: url = resolvers.request(url) url = re.findall('(.+)\|', url)[0] return url except: return
def resolve(self, url): control.log('CDA-ONLINE RESOLVE URL %s' % url) try: url = resolvers.request(url) return url except: return
def resolve(self, url): try: if 'openload.co' in url or 'thevideo.me' in url or 'vidto.me' in url: url = resolvers.request(url) else: return client.googlepass(url) except: return
def resolve(self, url): control.log('FilmyTO RESOLVE URL %s' % url) try: myurl = resolvers.request(url) return myurl except: return
def resolve(self, url): try: #url = client.request(url, output='geturl') #if 'requiressl=yes' in url: url = url.replace('http://', 'https://') #else: url = url.replace('https://', 'http://') url = resolvers.request(url) return url except: return
def resolve(self, url): try: control.log('@#@ PUT %s' % url) if 'openload.co' in url or 'videomega.tv' in url: control.log('@#@ PUT resolving ') url = resolvers.request(url) return url except: return
def resolve(self, url): try: r = client.request(url, output='headers') url = r['Refresh'].replace('0;url=','') #control.log('#%s'% url) url = resolvers.request(url) return url except: return
def get_sources(self, url, hosthdDict, hostDict, locDict): try: sources = [] if url == None: return sources query = urlparse.urlparse(url).query try: query = '%02d' % int(re.compile('E(\d*)$').findall(query)[0]) except: query = '' url = urlparse.urljoin(self.base_link, url) result = client.source(url) result = client.parseDOM(result, 'select', attrs={'id': 'myDropdown'})[0] result = zip(client.parseDOM(result, 'option', ret='value'), client.parseDOM(result, 'option')) result = [ i[0] for i in result if i[1].endswith(query) or query == '' ][0] direct = re.compile('(.+)[|](.+?)[,]').findall(result) if len(direct) > 0: quality = 'HD' if 'hd' in direct[0][0].lower() else 'SD' sources.append({ 'source': 'MVsnap', 'quality': quality, 'provider': 'MVsnap', 'url': direct[0][1] }) return sources url = urlparse.urljoin(self.base_link, result) url = client.source(url, output='geturl') if not 'google' in url: raise Exception() url = url.split('get_video_info')[0] url = resolvers.request(url) for i in url: sources.append({ 'source': 'GVideo', 'quality': i['quality'], 'provider': 'MVsnap', 'url': i['url'] }) return sources except: return sources
def resolve(self, url): try: if url.startswith(self.base_link): result = client.request(url) url = client.parseDOM(result, 'a', ret='href', attrs = {'class': 'real_link'})[0] url = resolvers.request(url) return url except: return
def resolve(self, url): control.log('>>>>>>>>>>>>>>>>>> Resolve moviesHD %s' % url) try: if 'openload.co' in url or 'thevideo.me' in url or 'vidto.me' in url: return resolvers.request(url) else: return client.googlepass(url) except: return