def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources data = urlparse.parse_qs(url) data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data]) title = (data['title'].translate(None, '\/:*?"\'<>|!,')).replace( ' ', '-').replace('--', '-').lower() try: is_movie = not (int(data['episode']) > 0) except: is_movie = True if is_movie: url = urlparse.urljoin(self.base_link, self.watch_link % title) else: url = urlparse.urljoin( self.base_link, self.watch_series_link % (title, data['season'], data['episode'])) r = client.request(url, output='geturl') if r is None: raise Exception() r = client.request(url) r = re.sub(r'[^\x00-\x7F]+', ' ', r) result = r y = re.findall('Date\s*:\s*.+?>.+?(\d{4})', r) y = y[0] if len(y) > 0 else None if is_movie: if not (data['imdb'] in r or data['year'] == y): raise Exception() q = client.parseDOM(r, 'title') q = q[0] if len(q) > 0 else None quality = '1080p' if ' 1080' in q else 'HD' r = client.parseDOM(r, 'div', attrs={'id': '5throw'})[0] r = client.parseDOM(r, 'a', ret='href', attrs={'rel': 'nofollow'}) links = [] for url in r: try: if 'yadi.sk' in url: url = directstream.yandex(url) elif 'mail.ru' in url: url = directstream.cldmailru(url) else: raise Exception() if url == None: raise Exception() links += [{ 'source': 'cdn', 'url': url, 'quality': quality, 'direct': False }] except: pass try: r = client.parseDOM(result, 'iframe', ret='src') if is_movie: r = [i for i in r if 'pasmov' in i][0] else: r = [i for i in r if 'pasep' in i][0] for i in range(0, 4): try: if not r.startswith('http'): r = urlparse.urljoin(self.base_link, r) r = client.request(r) r = re.sub(r'[^\x00-\x7F]+', ' ', r) r = client.parseDOM(r, 'iframe', ret='src')[0] if 'google' in r: break except: break if not 'google' in r: raise Exception() valid, hoster = source_utils.is_host_valid(r, hostDict) links, host, direct = source_utils.check_directstreams( r, hoster) except: pass for i in links: if 'google' in i['url']: i['source'] = 'gvideo' i['direct'] = False sources.append({ 'source': i['source'], 'quality': i['quality'], 'language': 'en', 'url': i['url'], 'direct': i['direct'], 'debridonly': False }) return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources data = urlparse.parse_qs(url) data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data]) title = (data['title'].translate(None, '\/:*?"\'<>|!,')).replace(' ', '-').replace('--', '-').lower() try: is_movie = not (int(data['episode']) > 0) except: is_movie = True if is_movie: url = urlparse.urljoin(self.base_link, self.watch_link % title) else: url = urlparse.urljoin(self.base_link, self.watch_series_link % (title, data['season'], data['episode'])) r = client.request(url, output='geturl') if r is None: raise Exception() r = client.request(url) r = re.sub(r'[^\x00-\x7F]+',' ', r) result = r y = re.findall('Date\s*:\s*.+?>.+?(\d{4})', r) y = y[0] if len(y) > 0 else None if is_movie: if not (data['imdb'] in r or data['year'] == y): raise Exception() q = client.parseDOM(r, 'title') q = q[0] if len(q) > 0 else None quality = '1080p' if ' 1080' in q else 'HD' r = client.parseDOM(r, 'div', attrs = {'id': '5throw'})[0] r = client.parseDOM(r, 'a', ret='href', attrs = {'rel': 'nofollow'}) links = [] for url in r: try: if 'yadi.sk' in url: url = directstream.yandex(url) elif 'mail.ru' in url: url = directstream.cldmailru(url) else: raise Exception() if url == None: raise Exception() links += [{'source': 'cdn', 'url': url, 'quality': quality, 'direct': False}] except: pass try: r = client.parseDOM(result, 'iframe', ret='src') if is_movie: r = [i for i in r if 'pasmov' in i][0] else: r = [i for i in r if 'pasep' in i][0] for i in range(0, 4): try: if not r.startswith('http'): r = urlparse.urljoin(self.base_link, r) r = client.request(r) r = re.sub(r'[^\x00-\x7F]+',' ', r) r = client.parseDOM(r, 'iframe', ret='src')[0] if 'google' in r: break except: break if not 'google' in r: raise Exception() r = directstream.google(r) for i in r: try: links += [{'source': 'gvideo', 'url': i['url'], 'quality': i['quality'], 'direct': True}] except: pass except: pass for i in links: sources.append({'source': i['source'], 'quality': i['quality'], 'language': 'en', 'url': i['url'], 'direct': i['direct'], 'debridonly': False}) return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources data = urlparse.parse_qs(url) data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data]) query = base64.b64decode( 'aHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY3VzdG9tc2VhcmNoL3YxZWxlbWVudD9rZXk9QUl6YVN5Q1ZBWGlVelJZc01MMVB2NlJ3U0cxZ3VubU1pa1R6UXFZJnJzej1maWx0ZXJlZF9jc2UmbnVtPTEwJmhsPWVuJmN4PTAxNjE2OTU5MjY5NTEyNzQ5NTk0OTpsYnB1dGVqbmxrNCZnb29nbGVob3N0PXd3dy5nb29nbGUuY29tJnE9JXM=' ) query = query % urllib.quote_plus( '%s %s' % (data['title'].replace(':', ' '), data['year'])) t = cleantitle.get(data['title']) r = client.request(query) r = json.loads(r)['results'] r = [(i['url'], i['titleNoFormatting']) for i in r] r = [(i[0], cleantitle.get(i[1]), re.findall('\d{4}', i[1])) for i in r] r = [(i[0], i[1], i[2][-1]) for i in r if len(i[2]) > 0] r = [i[0] for i in r if t == i[1] and data['year'] == i[2]][0] u = urlparse.urljoin(self.base_link, r) result = client.request(u) result = re.sub(r'[^\x00-\x7F]+', ' ', result) q = client.parseDOM(result, 'title')[0] quality = '1080p' if ' 1080' in q else 'HD' r = client.parseDOM(result, 'div', attrs={'id': '5throw'})[0] r = client.parseDOM(r, 'a', ret='href', attrs={'rel': 'nofollow'}) links = [] for url in r: try: if 'yadi.sk' in url: url = directstream.yandex(url) elif 'mail.ru' in url: url = directstream.cldmailru(url) else: raise Exception() if url == None: raise Exception() links += [{ 'source': 'cdn', 'url': url, 'quality': quality, 'direct': False }] except: pass try: r = client.parseDOM(result, 'iframe', ret='src') r = [i for i in r if 'pasep' in i][0] for i in range(0, 4): try: r = client.request(r) r = re.sub(r'[^\x00-\x7F]+', ' ', r) r = client.parseDOM(r, 'iframe', ret='src')[0] if 'google' in r: break except: break if not 'google' in r: raise Exception() url = directstream.google(r) for i in url: try: links += [{ 'source': 'gvideo', 'url': i['url'], 'quality': i['quality'], 'direct': True }] except: pass except: pass for i in links: sources.append({ 'source': i['source'], 'quality': i['quality'], 'provider': 'Dtmovies', 'url': i['url'], 'direct': i['direct'], 'debridonly': False }) return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources data = urlparse.parse_qs(url) data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data]) url = (data['title'].translate(None, '\/:*?"\'<>|!,')).replace( ' ', '-').replace('--', '-').lower() url = urlparse.urljoin(self.base_link, self.watch_link % url) r = client.request(url, output='geturl') if r == None: raise Exception() r = client.request(url) r = re.sub(r'[^\x00-\x7F]+', ' ', r) y = re.findall('Date\s*:\s*.+?>.+?(\d{4})', r) y = y[0] if len(y) > 0 else None if not (data['imdb'] in r or data['year'] == y): raise Exception() q = client.parseDOM(r, 'title') q = q[0] if len(q) > 0 else None quality = '1080p' if ' 1080' in q else 'HD' r = client.parseDOM(r, 'div', attrs={'id': '5throw'})[0] r = client.parseDOM(r, 'a', ret='href', attrs={'rel': 'nofollow'}) links = [] for url in r: try: if 'yadi.sk' in url: url = directstream.yandex(url) elif 'mail.ru' in url: url = directstream.cldmailru(url) else: raise Exception() if url == None: raise Exception() links += [{ 'source': 'cdn', 'url': url, 'quality': quality, 'direct': False }] except: pass try: r = client.parseDOM(result, 'iframe', ret='src') r = [i for i in r if 'pasep' in i][0] for i in range(0, 4): try: r = client.request(r) r = re.sub(r'[^\x00-\x7F]+', ' ', r) r = client.parseDOM(r, 'iframe', ret='src')[0] if 'google' in r: break except: break if not 'google' in r: raise Exception() url = directstream.google(r) for i in url: try: links += [{ 'source': 'gvideo', 'url': i['url'], 'quality': i['quality'], 'direct': True }] except: pass except: pass for i in links: sources.append({ 'source': i['source'], 'quality': i['quality'], 'language': 'en', 'url': i['url'], 'direct': i['direct'], 'debridonly': False }) return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources data = urlparse.parse_qs(url) data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data]) query = base64.b64decode('aHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY3VzdG9tc2VhcmNoL3YxZWxlbWVudD9rZXk9QUl6YVN5Q1ZBWGlVelJZc01MMVB2NlJ3U0cxZ3VubU1pa1R6UXFZJnJzej1maWx0ZXJlZF9jc2UmbnVtPTEwJmhsPWVuJmN4PTAxNjE2OTU5MjY5NTEyNzQ5NTk0OTpsYnB1dGVqbmxrNCZnb29nbGVob3N0PXd3dy5nb29nbGUuY29tJnE9JXM=') query = query % urllib.quote_plus('%s %s' % (data['title'].replace(':', ' '), data['year'])) t = cleantitle.get(data['title']) r = client.request(query) r = json.loads(r)['results'] r = [(i['url'], i['titleNoFormatting']) for i in r] r = [(i[0], cleantitle.get(i[1]), re.findall('\d{4}', i[1])) for i in r] r = [(i[0], i[1], i[2][-1]) for i in r if len(i[2]) > 0] r = [i[0] for i in r if t == i[1] and data['year'] == i[2]][0] u = urlparse.urljoin(self.base_link, r) result = client.request(u) result = re.sub(r'[^\x00-\x7F]+',' ', result) q = client.parseDOM(result, 'title')[0] quality = '1080p' if ' 1080' in q else 'HD' r = client.parseDOM(result, 'div', attrs = {'id': '5throw'})[0] r = client.parseDOM(r, 'a', ret='href', attrs = {'rel': 'nofollow'}) links = [] for url in r: try: if 'yadi.sk' in url: url = directstream.yandex(url) elif 'mail.ru' in url: url = directstream.cldmailru(url) else: raise Exception() if url == None: raise Exception() links += [{'source': 'cdn', 'url': url, 'quality': quality, 'direct': False}] except: pass try: r = client.parseDOM(result, 'iframe', ret='src') r = [i for i in r if 'pasep' in i][0] for i in range(0, 4): try: r = client.request(r) r = re.sub(r'[^\x00-\x7F]+',' ', r) r = client.parseDOM(r, 'iframe', ret='src')[0] if 'google' in r: break except: break if not 'google' in r: raise Exception() url = directstream.google(r) for i in url: try: links += [{'source': 'gvideo', 'url': i['url'], 'quality': i['quality'], 'direct': True}] except: pass except: pass for i in links: sources.append({'source': i['source'], 'quality': i['quality'], 'provider': 'Dtmovies', 'url': i['url'], 'direct': i['direct'], 'debridonly': False}) return sources except: return sources
def sources(self, url, hostDict, hostprDict): try: sources = [] if url == None: return sources try: url, imdb = re.findall('(.+?)&(tt\d*)$', url)[0] except: imdb = '0' u = urlparse.urljoin(self.base_link, url) result = client.request(u) result = re.sub(r'[^\x00-\x7F]+', ' ', result) if not imdb == '0' and not imdb in result: raise Exception() q = client.parseDOM(result, 'title')[0] quality = '1080p' if ' 1080' in q else 'HD' r = client.parseDOM(result, 'div', attrs={'id': '5throw'})[0] r = client.parseDOM(r, 'a', ret='href', attrs={'rel': 'nofollow'}) links = [] for url in r: try: if 'yadi.sk' in url: url = directstream.yandex(url) elif 'mail.ru' in url: url = directstream.cldmailru(url) else: raise Exception() if url == None: raise Exception() links += [{ 'source': 'cdn', 'url': url, 'quality': quality, 'direct': False }] except: pass try: r = client.parseDOM(result, 'iframe', ret='src') r = [i for i in r if 'pasep' in i][0] for i in range(0, 4): try: r = client.request(r) r = re.sub(r'[^\x00-\x7F]+', ' ', r) r = client.parseDOM(r, 'iframe', ret='src')[0] if 'google' in r: break except: break if not 'google' in r: raise Exception() url = directstream.google(r) for i in url: try: links += [{ 'source': 'gvideo', 'url': i['url'], 'quality': i['quality'], 'direct': True }] except: pass except: pass for i in links: sources.append({ 'source': i['source'], 'quality': i['quality'], 'provider': 'Dayt', 'url': i['url'], 'direct': i['direct'], 'debridonly': False }) return sources except: return sources