コード例 #1
0
    def sources(self, url, hostDict, hostprDict):
        try:
            sources = []

            if url == None: return sources

            cookies = cache.cache_get('naszekino_cookie')
            result = client.request(url, cookie=cookies)

            result = client.parseDOM(result, 'table', attrs={'class': 'table table-bordered'})
            result = client.parseDOM(result, 'tr')
            for item in result:
                try:
                    link = client.parseDOM(item, 'td', attrs={'class': 'link-to-video'})
                    link = str(client.parseDOM(link, 'a', ret='href')[0])
                    temp = client.parseDOM(item, 'td')
                    wersja = str(temp[1])
                    lang, info = self.get_lang_by_type(wersja)
                    valid, host = source_utils.is_host_valid(link, hostDict)
                    jakosc = str(temp[2]).lower()
                    if "wysoka" in jakosc:
                        q = "HD"
                    else:
                        q = source_utils.check_sd_url(link)
                    sources.append(
                        {'source': host, 'quality': q, 'language': lang, 'url': link, 'info': info, 'direct': False,
                         'debridonly': False})
                except:
                    continue
            return sources
        except:
            return sources
コード例 #2
0
    def resolve(self, url):
        try:
            # cookies = client.request(url, output='cookie')
            # verifyGet = client.request(self.verify, cookie = cookies)
            # cookies = cookies + ";tmvh=" + self.crazy_cookie_hash(verifyGet)
            cookies = cache.cache_get('szukajka_cookie')
            replace = re.findall("""tmvh=(.*)""", str(cookies['value']))[0]
            cookies = str(cookies['value'])

            verifyGet = client.request(self.verify, cookie=cookies)
            tmvh = self.crazy_cookie_hash(verifyGet)
            cookies = cookies.replace(replace, tmvh)

            test4 = client.request(url, cookie=cookies)
            test5 = client.parseDOM(test4, 'a', attrs={'class': 'submit'}, ret='href')[0]

            replace = re.findall("""tmvh=(.*)""", cookies)[0]
            verifyGet = client.request(self.verify, cookie=cookies)
            tmvh = self.crazy_cookie_hash(verifyGet)
            cookies = cookies.replace(replace, tmvh)

            test6 = client.request(test5, cookie=cookies)
            test7 = client.parseDOM(test6, 'iframe', ret='src')
            video_url = test7[0].replace("javascript:window.location.replace('", "").replace("')", "")
            return video_url
        except Exception as e:
            return
コード例 #3
0
 def episode(self, url, imdb, tvdb, title, premiered, season, episode):
     try:
         if url == None: return
         cookies = cache.cache_get('alltube_cookie')['value']
         txts = 's%02de%02d' % (int(season), int(episode))
         result = client.request(url, headers={'Cookie': cookies})
         # result = requests.get(url).content
         result = client.parseDOM(result, 'li', attrs={'class': 'episode'})
         result = [i for i in result if txts in i][0]
         url = client.parseDOM(result, 'a', ret='href')[0]
         url = url.encode('utf-8')
         return url
     except:
         return
コード例 #4
0
    def resolve(self, url):
        try:
            cookies = cache.cache_get('alltube_cookie')['value']
            myurl = url.split('?')
            mycookie = client.request(myurl[0],
                                      headers={'Cookie': cookies},
                                      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']

            data = client.request(urlparse.urljoin(self.base_link,
                                                   '/jsverify.php?op=tag'),
                                  cookie=mycookie)
            data = 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)
            link = client.request(myurl[-1], cookie=mycookie)
            match = re.search('<iframe src="(.+?)"', link)
            if match:
                linkVideo = match.group(1)
                if linkVideo.startswith("//"):
                    linkVideo = linkVideo.replace("//", "http://")
                    return linkVideo
                return linkVideo
            return
        except Exception, e:
            print e
            return
コード例 #5
0
    def episode(self, url, imdb, tvdb, title, premiered, season, episode):
        try:
            if url == None: return

            cookies = cache.cache_get('alltube_cookie')['value']
            self.anime = source_utils.is_anime('show', 'tvdb', tvdb)
            if self.anime:
                txts = 's01e%02d' % int(
                    source_utils.absoluteNumber(tvdb, episode, season))
            else:
                txts = 's%02de%02d' % (int(season), int(episode))
            result = client.request(url, headers={'Cookie': cookies})
            # result = requests.get(url).content
            result = client.parseDOM(result, 'li', attrs={'class': 'episode'})
            result = [i for i in result if txts in i][0]
            url = client.parseDOM(result, 'a', ret='href')[0]
            url = url.encode('utf-8')
            return url
        except:
            return
コード例 #6
0
    def sources(self, url, hostDict, hostprDict):
        try:
            sources = []

            if url == None: return sources

            url = urlparse.urljoin(self.base_link, url)
            cookies = cache.cache_get('alltube_cookie')['value']
            result = client.request(url, headers={'Cookie': cookies})

            links = client.parseDOM(result, 'tr')
            links = [(client.parseDOM(i,
                                      'a',
                                      attrs={'class': 'watch'},
                                      ret='href')[0],
                      client.parseDOM(i, 'img', ret='alt')[0],
                      client.parseDOM(i, 'td', attrs={'class':
                                                      'text-center'})[0])
                     for i in links]

            for i in links:
                try:
                    url1 = '%s?%s' % (url, i[0])
                    url1 = url1.encode('utf-8')
                    language, info = self.get_language_by_type(i[2])

                    sources.append({
                        'source': i[1].encode('utf-8'),
                        'quality': 'SD',
                        'language': language,
                        'url': url1,
                        'info': info,
                        'direct': False,
                        'debridonly': False
                    })
                except:
                    pass

            return sources
        except:
            return sources
コード例 #7
0
    def resolve(self, url):
        cookies = cache.cache_get('tb7_cookie')['value']
        headers = {
            'Connection': 'keep-alive',
            'Upgrade-Insecure-Requests': '1',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.53 Safari/537.36',
            'DNT': '1',
            'Accept':
            'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
            'Accept-Language': 'pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7',
            'Cookie': cookies
        }

        mojekonto = "https://tb7.pl/mojekonto/pliki"
        result = self.session.get(mojekonto, headers=headers).content
        result = client.parseDOM(result, 'table', attrs={'class': "list"})
        result = client.parseDOM(result, 'input', ret='value')
        for item in result:
            link = item
            item = item.split("/")[-1]
            if item in url:
                return str(
                    link +
                    "|User-Agent=vlc/3.0.0-git libvlc/3.0.0-git&verifypeer=false"
                )

        autotb7 = control.setting('autotb7')
        if autotb7 == 'false':
            limit = self.session.get(self.base_link, headers=headers).content
            limit = client.parseDOM(limit,
                                    'div',
                                    attrs={'class': "textPremium"})
            limit = str(client.parseDOM(limit, 'b')[-1])

            import xbmcgui
            ret = xbmcgui.Dialog().yesno(
                'TB7',
                'Chcesz wykorzystać transfer ze swojego konta tb7 aby odtworzyć tę pozycję?\n Aktualnie posiadasz: [B]%s[/B] transferu'
                % limit)
            if not ret:
                return

        data = {'step': '1', 'content': url}

        self.session.post('https://tb7.pl/mojekonto/sciagaj',
                          data=data,
                          headers=headers)

        data = {'0': 'on', 'step': '2'}

        content = self.session.post('https://tb7.pl/mojekonto/sciagaj',
                                    data=data,
                                    headers=headers).content

        result = client.parseDOM(content, 'div', attrs={'class': 'download'})
        link = client.parseDOM(result, 'a', ret='href')[1]

        return str(
            link +
            "|User-Agent=vlc/3.0.0-git libvlc/3.0.0-git&verifypeer=false")
コード例 #8
0
 def sources(self, url, hostDict, hostprDict):
     sources = []
     try:
         if url == None: return sources
         cookies = cache.cache_get('segos_cookie')['value']
         data = {
             "login": self.user_name,
             'password': self.user_pass,
             'loguj': ''
         }
         cookies2 = client.request('https://segos.es/?page=login',
                                   post=data,
                                   headers={'Cookie': cookies},
                                   output='cookie')
         cookies = cookies + "; " + cookies2
         result = client.request(url, headers={'Cookie': cookies})
         result = client.parseDOM(
             result,
             'table',
             attrs={'class': 'table table-hover table-bordered'})
         results = client.parseDOM(result, 'tr')
         quality = 'SD'
         for result in results:
             try:
                 try:
                     quality = client.parseDOM(result, 'td')[1]
                 except:
                     pass
                 quality = quality.replace(' [EXTENDED]',
                                           '').replace(' [Extended]', '')
                 lang = 'en'
                 info = client.parseDOM(result, 'td')[0]
                 info = client.parseDOM(info, 'img', ret='src')
                 if 'napisy' in info[0]:
                     info[0] = 'Napisy'
                     lang = 'pl'
                 if 'lektor' in info[0]:
                     info[0] = 'Lektor'
                     lang = 'pl'
                 if 'dubbing' in info[0]:
                     info[0] = 'Dubbing'
                     lang = 'pl'
                 link = client.parseDOM(result, 'a', ret='href')
                 link = urlparse.urljoin(self.base_link, str(link[0]))
                 k = client.request(link, headers={'Cookie': cookies})
                 video_link_direct = ''
                 video_link_content = k
                 video_link_content = client.parseDOM(
                     video_link_content,
                     'div',
                     attrs={
                         'class': 'embed-responsive embed-responsive-16by9'
                     })
                 try:
                     video_link = client.parseDOM(video_link_content,
                                                  'iframe',
                                                  ret='src')[0]
                 except:
                     video_link_direct = client.parseDOM(video_link_content,
                                                         'source',
                                                         ret='src')[0]
                     video_link = ''
                 if video_link_direct:
                     video_link = video_link_direct
                     host = 'Segos.es'
                 else:
                     valid, host = source_utils.is_host_valid(
                         video_link, hostDict)
                 more = False
                 for source in more_sources.more_cdapl(
                         video_link, hostDict, lang, info[0]):
                     sources.append(source)
                     more = True
                 for source in more_sources.more_rapidvideo(
                         video_link, hostDict, lang, info[0]):
                     sources.append(source)
                     more = True
                 if not more:
                     if 'ebd' in host.lower():
                         host = 'CDA'
                     if 'segos' in video_link:
                         headers = {"Cookie": cookies}
                         helper = '|%s' % '&'.join([
                             '%s=%s' %
                             (key, urllib.quote_plus(headers[key]))
                             for key in headers
                         ])
                         sources.append({
                             'source': host,
                             'quality': quality,
                             'language': lang,
                             'url': video_link + helper,
                             'info': info[0],
                             'direct': True,
                             'debridonly': False
                         })
                     else:
                         sources.append({
                             'source': host,
                             'quality': quality,
                             'language': lang,
                             'url': video_link,
                             'info': info[0],
                             'direct': False,
                             'debridonly': False
                         })
             except:
                 continue
         return sources
     except:
         return sources