Exemple #1
0
 def sources(self, url, hostDict, hostprDict):
     try:
         if url == None:
             return sources
         sources = []
         hostDict = hostprDict + hostDict
         r = getSum.get(url)
         match = getSum.findSum(r)
         for url in match:
             if 'vidcloud' in url:
                 result = getSum.get(url)
                 match = getSum.findSum(result)
                 for link in match:
                     link = "https:" + link if not link.startswith(
                         'http') else link
                     link = requests.get(
                         link).url if 'vidnode' in link else link
                     valid, host = source_utils.is_host_valid(
                         link, hostDict)
                     if valid:
                         quality, info = source_utils.get_release_quality(
                             link, link)
                         sources.append({
                             'source': host,
                             'quality': quality,
                             'language': 'en',
                             'info': info,
                             'url': link,
                             'direct': False,
                             'debridonly': False
                         })
             else:
                 valid, host = source_utils.is_host_valid(url, hostDict)
                 if valid:
                     quality, info = source_utils.get_release_quality(
                         url, url)
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'info': info,
                         'url': url,
                         'direct': False,
                         'debridonly': False
                     })
         return sources
     except:
         return sources
Exemple #2
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         r = client.request(url)
         links = re.compile('<iframe.+?src="(.+?)"', re.DOTALL).findall(r)
         for u in links:
             r = client.request(u)
             match = getSum.findSum(r)
             for link in match:
                 valid, host = source_tools.checkHost(link, hostDict)
                 if valid:
                     info = source_tools.get_info(link)
                     quality = source_tools.get_quality(link)
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'url': link,
                         'info': info,
                         'direct': False,
                         'debridonly': False
                     })
         return sources
     except:
         return sources
Exemple #3
0
 def sources(self, url, hostDict, hostprDict):
     sources = []
     try:
         if url is None:
             return sources
         hostDict = hostprDict + hostDict
         r = getSum.get(url)
         match = getSum.findSum(r)
         for url in match:
             if 'load.php' not in url:
                 valid, host = source_utils.is_host_valid(url, hostDict)
                 if valid:
                     quality, info = source_utils.get_release_quality(
                         url, url)
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'info': info,
                         'url': url,
                         'direct': False,
                         'debridonly': False
                     })
         return sources
     except Exception:
         failure = traceback.format_exc()
         log_utils.log('---WATCHSERIESHD Testing - Exception: \n' +
                       str(failure))
         return sources
Exemple #4
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         r = getSum.get(url)
         match = getSum.findSum(r)
         for url in match:
             if 'steepto.com' in url:
                 continue
             url = url.encode('utf-8')
             info = source_tools.get_info(url)
             quality = source_tools.get_quality(url)
             sources.append({
                 'source': 'Direct',
                 'quality': quality,
                 'language': 'en',
                 'url': url,
                 'info': info,
                 'direct': True,
                 'debridonly': False
             })
         return sources
     except:
         return sources
Exemple #5
0
 def sources(self, url, hostDict, hostprDict):
     sources = []
     try:
         if url is None:
             return sources
         hostDict = hostprDict + hostDict
         r = getSum.get(url)
         match = getSum.findSum(r)
         for url in match:
             if 'load.php' not in url:
                 valid, host = source_utils.is_host_valid(url, hostDict)
                 if valid:
                     quality, info = source_utils.get_release_quality(
                         url, url)
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'info': info,
                         'url': url,
                         'direct': False,
                         'debridonly': False
                     })
         return sources
     except:
         return sources
Exemple #6
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         hostDict = hostprDict + hostDict
         r = self.session.get(url, headers=self.headers).content
         match = getSum.findSum(r)
         for url in match:
             if "api.hdv.fun" in url:
                 r2 = self.session.get(url, headers=self.headers).content
                 match2 = getSum.findEm(
                     r2,
                     '<source src= "(.+?)" type="(.+?)" .+? label="(.+?)"')
                 if match2:
                     for url2, inf, qua in match2:
                         quainf = '%s - %s' % (inf, qua)
                         quality, info = source_utils.get_release_quality(
                             quainf, quainf)
                         valid, host = source_utils.is_host_valid(
                             url2, hostDict)
                         sources.append({
                             'source': host,
                             'quality': quality,
                             'language': 'en',
                             'url': url2,
                             'info': info,
                             'direct': False,
                             'debridonly': False
                         })
         return sources
     except:
         return sources
Exemple #7
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url is None:
             return sources
         hostDict = hostprDict + hostDict
         r = getSum.get(url, Type='cfscrape')
         qual = getSum.findThat(r, 'class="quality">(.+?)<')[0]
         quality, info = source_utils.get_release_quality(qual, qual)
         match = getSum.findSum(r)
         for url in match:
             if 'load.php' not in url:
                 valid, host = source_utils.is_host_valid(url, hostDict)
                 if valid:
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'info': info,
                         'url': url,
                         'direct': False,
                         'debridonly': False
                     })
         return sources
     except:
         return sources
Exemple #8
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         hostDict = hostprDict + hostDict
         r = getSum.get(url, Type='cfscrape')
         match = getSum.findSum(r)
         for url in match:
             quality, info = source_utils.get_release_quality(url, url)
             valid, host = source_utils.is_host_valid(url, hostDict)
             if valid:
                 sources.append({'source': host, 'quality': quality, 'language': 'en', 'url': url, 'info': info, 'direct': False, 'debridonly': False})
         return sources
     except:
         return sources
Exemple #9
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         hostDict = hostDict + hostprDict
         data = urlparse.parse_qs(url)
         data = dict([(i, data[i][0]) if data[i] else (i, '')
                      for i in data])
         aliases = eval(data['aliases'])
         headers = {}
         if 'tvshowtitle' in data:
             ep = data['episode']
             url = '%s/film/%s-season-%01d/watching.html?ep=%s' % (
                 self.base_link, cleantitle.geturl(
                     data['tvshowtitle']), int(data['season']), ep)
             r = client.request(url,
                                headers=headers,
                                timeout='10',
                                output='geturl')
             if url is None:
                 url = self.searchShow(data['tvshowtitle'], data['season'],
                                       aliases, headers)
         else:
             url = self.searchMovie(data['title'], data['year'], aliases,
                                    headers)
             if url is None:
                 url = '%s/film/%s/watching.html?ep=0' % (
                     self.base_link, cleantitle.geturl(data['title']))
         if url is None:
             raise Exception()
         r = client.request(url, headers=headers, timeout='10')
         r = client.parseDOM(r, 'div', attrs={'class': 'les-content'})
         if 'tvshowtitle' in data:
             ep = data['episode']
             links = client.parseDOM(r,
                                     'a',
                                     attrs={'episode-data': ep},
                                     ret='player-data')
         else:
             links = client.parseDOM(r, 'a', ret='player-data')
         for link in links:
             link = "https:" + link if not link.startswith('http') else link
             if 'vidcloud' in link:
                 r = client.request(link, headers=headers, timeout='10')
                 match = getSum.findSum(r)
                 for url in match:
                     url = "https:" + url if not url.startswith(
                         'http') else url
                     url = requests.get(
                         url).url if 'api.vidnode' in url else url
                     valid, host = source_utils.is_host_valid(url, hostDict)
                     if valid:
                         quality, info = source_utils.get_release_quality(
                             url, url)
                         sources.append({
                             'source': host,
                             'quality': quality,
                             'language': 'en',
                             'info': info,
                             'url': url,
                             'direct': False,
                             'debridonly': False
                         })
             elif '123movieshd' in link or 'seriesonline' in link:
                 r = client.request(link, headers=headers, timeout='10')
                 r = re.findall('(https:.*?redirector.*?)[\'\"]', r)
                 for i in r:
                     sources.append({
                         'source':
                         'gvideo',
                         'quality':
                         directstream.googletag(i)[0]['quality'],
                         'language':
                         'en',
                         'url':
                         i,
                         'direct':
                         True,
                         'debridonly':
                         False
                     })
             else:
                 valid, host = source_utils.is_host_valid(link, hostDict)
                 if valid:
                     quality, info = source_utils.get_release_quality(
                         link, link)
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'info': info,
                         'url': link,
                         'direct': False,
                         'debridonly': False
                     })
         return sources
     except:
         return sources
Exemple #10
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         hostDict += [
             'akamaized.net', 'google.com', 'picasa.com', 'blogspot.com'
         ]
         result = client.request(url, timeout=10)
         dom = dom_parser.parse_dom(result, 'a', req='data-video')
         urls = [
             i.attrs['data-video']
             if i.attrs['data-video'].startswith('http') else 'https:' +
             i.attrs['data-video'] for i in dom
         ]
         for url in urls:
             dom = []
             if 'vidcloud' in url:
                 result = client.request(url, timeout=10)
                 match = getSum.findSum(result)
                 for url in match:
                     url = "https:" + url if not url.startswith(
                         'http') else url
                     url = requests.get(
                         url).url if 'vidnode' in url else url
                     valid, host = source_utils.is_host_valid(url, hostDict)
                     if valid:
                         quality, info = source_utils.get_release_quality(
                             url, url)
                         sources.append({
                             'source': host,
                             'quality': quality,
                             'language': 'en',
                             'info': info,
                             'url': url,
                             'direct': False,
                             'debridonly': False
                         })
             elif 'vidnode.net' in url:
                 result = client.request(url, timeout=10)
                 dom = dom_parser.parse_dom(result,
                                            'source',
                                            req=['src', 'label'])
                 dom = [(i.attrs['src'] if i.attrs['src'].startswith('http')
                         else 'https:' + i.attrs['src'], i.attrs['label'])
                        for i in dom if i]
             elif 'ocloud.stream' in url:
                 result = client.request(url, timeout=10)
                 base = re.findall('<base href="([^"]+)">', result)[0]
                 hostDict += [base]
                 dom = dom_parser.parse_dom(result, 'a', req=['href', 'id'])
                 dom = [(i.attrs['href'].replace('./embed', base + 'embed'),
                         i.attrs['id']) for i in dom if i]
                 dom = [(re.findall("var\s*ifleID\s*=\s*'([^']+)",
                                    client.request(i[0]))[0], i[1])
                        for i in dom if i]
             if dom:
                 try:
                     for r in dom:
                         valid, hoster = source_utils.is_host_valid(
                             r[0], hostDict)
                         if not valid:
                             continue
                         quality = source_utils.label_to_quality(r[1])
                         urls, host, direct = source_utils.check_directstreams(
                             r[0], hoster)
                         for x in urls:
                             if direct:
                                 size = source_utils.get_size(x['url'])
                             if size:
                                 sources.append({
                                     'source': host,
                                     'quality': quality,
                                     'language': 'en',
                                     'url': x['url'],
                                     'direct': direct,
                                     'debridonly': False,
                                     'info': size
                                 })
                             else:
                                 sources.append({
                                     'source': host,
                                     'quality': quality,
                                     'language': 'en',
                                     'url': x['url'],
                                     'direct': direct,
                                     'debridonly': False
                                 })
                 except:
                     pass
             else:
                 valid, hoster = source_utils.is_host_valid(url, hostDict)
                 if not valid:
                     continue
                 try:
                     url.decode('utf-8')
                     sources.append({
                         'source': hoster,
                         'quality': 'SD',
                         'language': 'en',
                         'url': url,
                         'direct': False,
                         'debridonly': False
                     })
                 except:
                     pass
         return sources
     except:
         return sources