diff --git a/channels/vvvvid.py b/channels/vvvvid.py index 66a82a33..20b0248a 100644 --- a/channels/vvvvid.py +++ b/channels/vvvvid.py @@ -4,19 +4,21 @@ # ---------------------------------------------------------- import requests, sys from core import support, tmdb -from platformcode import autorenumber +from platformcode import autorenumber, logger host = support.config.get_channel_url() # Creating persistent session current_session = requests.Session() -headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0'} +headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36'} # Getting conn_id token from vvvvid and creating payload login_page = host + '/user/login' try: - conn_id = current_session.get(login_page, headers=headers).json()['data']['conn_id'] + res = current_session.get(login_page, headers=headers) + conn_id = res.json()['data']['conn_id'] payload = {'conn_id': conn_id} + headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14', 'Cookie': res.headers['set-cookie']} except: conn_id = '' @@ -165,7 +167,7 @@ def episodios(item): if type(title) == tuple: title = title[0] itemlist.append( item.clone(title = title, - url= host + show_id + '/season/' + str(key['season_id']) + '/', + url= host + show_id + '/season/' + str(key['season_id']), action= 'findvideos', video_id= key['video_id'])) autorenumber.start(itemlist, item) @@ -181,11 +183,12 @@ def findvideos(item): json_file = current_session.get(item.url, headers=headers, params=payload).json() item.url = host + str(json_file['data'][0]['show_id']) + '/season/' + str(json_file['data'][0]['episodes'][0]['season_id']) + '/' item.video_id = json_file['data'][0]['episodes'][0]['video_id'] - + logger.info('url=',item.url) json_file = current_session.get(item.url, headers=headers, params=payload).json() for episode in json_file['data']: + logger.info(episode) if episode['video_id'] == item.video_id: - url = vvvvid_decoder.dec_ei(episode['embed_info'] or episode['embed_info']) + url = vvvvid_decoder.dec_ei(episode['embed_info'] or episode['embed_info_sd']) if 'youtube' in url: item.url = url item.url = url.replace('manifest.f4m','master.m3u8').replace('http://','https://').replace('/z/','/i/') if 'https' not in item.url: diff --git a/lib/vvvvid_decoder.py b/lib/vvvvid_decoder.py index dd49128a..88703f04 100644 --- a/lib/vvvvid_decoder.py +++ b/lib/vvvvid_decoder.py @@ -1,5 +1,6 @@ import sys -import xbmc +if sys.version_info[0] > 2: from urllib.parse import unquote +else: from urllib2 import unquote def dec_ei(h): g = 'MNOPIJKL89+/4567UVWXQRSTEFGHABCDcdefYZabstuvopqr0123wxyzklmnghij' @@ -7,23 +8,14 @@ def dec_ei(h): for e in range(0,len(h)): c.append(g.find(h[e])) for e in range(len(c)*2-1,-1,-1): - #print 'e=' + str(e) a = c[e % len(c)] ^ c[(e+1)%len(c)] - #print 'a='+str(a) c[e%len(c)] = a - #print 'c['+str(e % len(c))+']='+ str(c[e % len(c)]) c = f(c) d = '' for e in range(0,len(c)): d += '%'+ (('0'+ (str(format(c[e],'x'))))[-2:]) - # if python 3 - if sys.version_info[0] > 2: - import urllib - return urllib.parse.unquote(d) - else: - import urllib2 - return urllib2.unquote(d) + return unquote(d) def f(m): l = list()