def get(url, params={}): try: if getVideostarCredentialsInfo() == False: if control.yesnoDialog( control.lang(40001).encode('utf-8'), control.lang(30481).encode('utf-8'), '', 'Trakt', control.lang(30483).encode('utf-8'), control.lang(30482).encode('utf-8')): control.openSettings('2.3') raise Exception() url = urlparse.urljoin('https://api.videostar.pl', url) result = client.request(url, headers=headers, cookie=control.get_setting('videostar.sess')) r = json.loads(result) if r['status'] == "error" or result == None: if r['errors'][0]['code'] == 1: login() control.sleep(500) mycookie = control.get_setting('videostar.sess') result = client.source( url, headers=headers, cookie=control.get_setting('videostar.sess')) return result except Exception as e: control.log('Error videostar.get %s' % e) pass
def play(self, name, title, service, meta, url): #control.log('BBB1 %s %s %s %s' % (name, title, meta,service)) try: if not control.infoLabel('Container.FolderPath').startswith( 'plugin://'): control.playlist.clear() control.resolve(int(sys.argv[1]), True, control.item(path='')) #control.execute('Dialog.Close(okdialog)') content = 'movie' url = self.sourcesDirect(service, meta) if url == None: raise Exception() if url == 'close://': return control.sleep(200) from resources.lib.lib.player import player player().run(name, url, meta, service) return url except: control.infoDialog(control.lang(30501).encode('utf-8'))
def login(): #f getVideostarCredentialsInfo() == False: # raise Exception() params = {} #control.set_setting('videostar.sess', '') params['login'] = control.get_setting('videostar.user') params['password'] = control.get_setting('videostar.pass') params['permanent'] = 1 url = 'https://api-pilot.wp.pl/user/login' result = client.request(url, post=params, headers=headers, output='cookie') control.log('ResultC videostar.get %s' % result) if result == '': control.infoDialog('Unauthorized') return None control.set_setting('videostar.sess', result) control.sleep(500) url = 'https://api-pilot.wp.pl/invitations/limit' headers['cookie'] = result result2 = client.request(url, headers=headers) if 'error' in result2: result2 = json.loads(result2) control.log('EEEEEEEEEEEE Result videostar.get %s' % result2['errors'][0]['msg']) control.infoDialog(result2['errors'][0]['msg'].encode('utf-8')) control.sleep(500) return result
def get(url, proxy=''): try: pl_proxy = control.setting('pl_proxy') pl_proxy_port = control.setting('pl_proxy_port') if getVideostarCredentialsInfo() == False: if control.yesnoDialog( control.lang(40001).encode('utf-8'), control.lang(30481).encode('utf-8'), '', 'Trakt', control.lang(30483).encode('utf-8'), control.lang(30482).encode('utf-8')): control.openSettings('1.11') raise Exception() url = urlparse.urljoin('https://api.videostar.pl', url) if proxy == '': result = client.request( url, headers=headers, cookie=control.get_setting('videostar.sess')) else: myproxy = pl_proxy if pl_proxy_port != '': myproxy = myproxy + ':' + pl_proxy_port myproxy_check = is_bad_proxy(myproxy) if not myproxy_check == '': control.dialog.ok( control.addonInfo('name'), control.lang(40013).encode('utf-8') + ' ' + myproxy_check.encode('utf-8'), '') control.openSettings('0.11') return None result = client.request( url, headers=headers, cookie=control.get_setting('videostar.sess'), proxy=myproxy) r = json.loads(result) if r['status'] == "error" or result == None: if r['errors'][0]['code'] == 1: login() control.sleep(500) mycookie = control.get_setting('videostar.sess') result = client.source( url, headers=headers, cookie=control.get_setting('videostar.sess')) return result except Exception as e: control.log('Error videostar.get %s' % e) pass
def getstream(id): try: if wizjalogin(): cookie = control.setting('wizja.token').strip() ref = 'http://wizja.tv/watch.php?id=%s' % id result = client.request(ref, headers=HOST, cookie=cookie) HOST['Referer'] = ref url = 'http://wizja.tv/porter.php?ch=%s' % id result = client.request(url, headers=HOST, cookie=cookie) mylink = re.compile('src: "(.*?)"').findall(result) mykill = re.compile('<a href="killme.php\?id=(.*?)" target="_top">' ).findall(result) control.log('AMA %s|%s' % (mylink, mykill)) if len(mylink) > 0: rtmp2 = urllib.unquote(mylink[0]).decode('utf8') rtmp1 = re.compile( 'rtmp://(.*?)/(.*?)/(.*?)\?(.*?)\&streamType').findall( rtmp2) control.log('AMA1 %s' % (rtmp1)) control.log('AMA2 %s' % (rtmp2)) rtmp = 'rtmp://' + rtmp1[0][0] + '/' + rtmp1[0][ 1] + '/' + rtmp1[0][2] + '?' + rtmp1[0][ 3] + ' app=' + rtmp1[0][1] + '?' + rtmp1[0][ 3] + ' swfVfy=1 flashver=WIN\\2020,0,0,306 timeout=25 swfUrl=http://wizja.tv/player/StrobeMediaPlayback.swf live=true pageUrl=' + ref control.log('AMA3 %s' % (rtmp)) return rtmp #kill other sessions elif len(mykill) > 0: control.log('Error KILL %s' % mykill) urlkill = 'http://wizja.tv/killme.php?id=%s' % mykill[0] result = client.request(urlkill, headers=HOST, cookie=cookie) control.sleep(300) url = 'http://wizja.tv/porter.php?ch=%s' % id result = client.request(url, headers=HOST, cookie=cookie) mylink = re.compile('src: "(.*?)"').findall(result) if len(mylink) > 0: rtmp2 = urllib.unquote(mylink[0]).decode('utf8') rtmp1 = re.compile( 'rtmp://(.*?)/(.*?)/(.*?)\?(.*?)\&streamType').findall( rtmp2) rtmp = 'rtmp://' + rtmp1[0][0] + '/' + rtmp1[0][ 1] + '/' + rtmp1[0][2] + '?' + rtmp1[0][ 3] + ' app=' + rtmp1[0][1] + '?' + rtmp1[0][ 3] + ' swfVfy=1 flashver=WIN\\2020,0,0,306 timeout=25 swfUrl=http://wizja.tv/player/StrobeMediaPlayback.swf live=true pageUrl=' + ref return rtmp else: raise Exception('WWW: ' + result) else: return except Exception as e: control.log('Error wizja.getstream %s' % e)
def getstream(id): try: if login(): ref = 'http://wizja.tv/watch.php?id=%s' % id result = client2.http_get(ref) headers = {'Referer': ref} url = 'http://wizja.tv/porter.php?ch=%s' % id result = client2.http_get(url, headers=headers) #control.log('Error wizja.getstream %s' % result) #[SPECTO]: Error wizja.getstream WWW: <html><head> #<link rel="stylesheet" type="text/css" href="/white.css"></head><body><font size="3"><br><br><center><b><font color="#ff0000">Oglądasz zbyt wiele programów jednocześnie!</font></b><br><br>Zamknij pozostałe otwarte strony i spróbuj ponownie, <br>lub # <a href="killme.php?id=70" target="_top">zakończ wszystkie pozostałe połączenia i wpuść mnie!</a></font> # mylink = re.compile('src: "(.*?)"').findall(result) mykill = re.compile('<a href="killme.php\?id=(.*?)" target="_top">' ).findall(result) if len(mylink) > 0: rtmp2 = urllib.unquote(mylink[0]).decode('utf8') rtmp1 = re.compile( 'rtmp://(.*?)/(.*?)/(.*?)\?(.*?)\&streamType').findall( rtmp2) rtmp = 'rtmp://' + rtmp1[0][0] + '/' + rtmp1[0][ 1] + '/' + rtmp1[0][2] + '?' + rtmp1[0][ 3] + ' app=' + rtmp1[0][1] + '?' + rtmp1[0][ 3] + ' swfVfy=1 flashver=WIN\\2020,0,0,306 timeout=25 swfUrl=http://wizja.tv/player/StrobeMediaPlayback.swf live=true pageUrl=' + ref return rtmp elif len(mykill) > 0: control.log('Error KILL %s' % mykill) urlkill = 'http://wizja.tv/killme.php?id=%s' % mykill[0] result = client2.http_get(urlkill, headers=headers) control.sleep(300) url = 'http://wizja.tv/porter.php?ch=%s' % id result = client2.http_get(url, headers=headers) mylink = re.compile('src: "(.*?)"').findall(result) if len(mylink) > 0: rtmp2 = urllib.unquote(mylink[0]).decode('utf8') rtmp1 = re.compile( 'rtmp://(.*?)/(.*?)/(.*?)\?(.*?)\&streamType').findall( rtmp2) rtmp = 'rtmp://' + rtmp1[0][0] + '/' + rtmp1[0][ 1] + '/' + rtmp1[0][2] + '?' + rtmp1[0][ 3] + ' app=' + rtmp1[0][1] + '?' + rtmp1[0][ 3] + ' swfVfy=1 flashver=WIN\\2020,0,0,306 timeout=25 swfUrl=http://wizja.tv/player/StrobeMediaPlayback.swf live=true pageUrl=' + ref return rtmp else: raise Exception('WWW: ' + result) else: return except Exception as e: control.log('Error wizja.getstream %s' % e)
def getstream(id): try: if login(): #Get cookies ref = 'http://wizja.tv/watch.php?id=%s' % id result = client2.http_get(ref) headers = {'Referer': ref} url = 'http://wizja.tv/porter.php?ch=%s' % id result = client2.http_get(url, headers=headers) mylink = re.compile('src: "(.*?)"').findall(result) mykill = re.compile('<a href="killme.php\?id=(.*?)" target="_top">' ).findall(result) if len(mylink) > 0: rtmp2 = urllib.unquote(mylink[0]).decode('utf8') rtmp1 = re.compile( 'rtmp://(.*?)/(.*?)/(.*?)\?(.*?)\&streamType').findall( rtmp2) rtmp = 'rtmp://' + rtmp1[0][0] + '/' + rtmp1[0][ 1] + '/' + rtmp1[0][2] + '?' + rtmp1[0][ 3] + ' app=' + rtmp1[0][1] + '?' + rtmp1[0][ 3] + ' swfVfy=1 flashver=WIN\\2020,0,0,306 timeout=25 swfUrl=http://wizja.tv/player/StrobeMediaPlayback.swf live=true pageUrl=' + ref return rtmp #kill other sessions elif len(mykill) > 0: control.log('Error KILL %s' % mykill) urlkill = 'http://wizja.tv/killme.php?id=%s' % mykill[0] result = client2.http_get(urlkill, headers=headers) control.sleep(300) url = 'http://wizja.tv/porter.php?ch=%s' % id result = client2.http_get(url, headers=headers) mylink = re.compile('src: "(.*?)"').findall(result) if len(mylink) > 0: rtmp2 = urllib.unquote(mylink[0]).decode('utf8') rtmp1 = re.compile( 'rtmp://(.*?)/(.*?)/(.*?)\?(.*?)\&streamType').findall( rtmp2) rtmp = 'rtmp://' + rtmp1[0][0] + '/' + rtmp1[0][ 1] + '/' + rtmp1[0][2] + '?' + rtmp1[0][ 3] + ' app=' + rtmp1[0][1] + '?' + rtmp1[0][ 3] + ' swfVfy=1 flashver=WIN\\2020,0,0,306 timeout=25 swfUrl=http://wizja.tv/player/StrobeMediaPlayback.swf live=true pageUrl=' + ref return rtmp else: raise Exception('WWW: ' + result) else: return except Exception as e: control.log('Error wizja.getstream %s' % e)
def setView(content, viewDict=None): for i in range(0, 200): if control.condVisibility('Container.Content(%s)' % content): try: skin = control.skin record = (skin, content) dbcon = database.connect(control.databaseFile) dbcur = dbcon.cursor() dbcur.execute("SELECT * FROM views WHERE skin = '%s' AND view_type = '%s'" % (record[0], record[1])) view = dbcur.fetchone() view = view[2] if view == None: raise Exception() return control.execute('Container.SetViewMode(%s)' % str(view)) except: try: return control.execute('Container.SetViewMode(%s)' % str(viewDict[skin])) except: return control.sleep(100)
def getstream(id): try: if wizjalogin(): cookie = control.setting('wizja.token').strip() ref='http://wizja.tv/watch.php?id=%s' % id result = client.request(ref, headers=HOST, cookie=cookie) HOST['Referer']=ref url = 'http://wizja.tv/porter.php?ch=%s' % id result = client.request(url, headers=HOST, cookie=cookie) mylink = re.compile('src: "(.*?)"').findall(result) mykill = re.compile('<a href="killme.php\?id=(.*?)" target="_top">').findall(result) control.log('AMA %s|%s' %(mylink,mykill)) if len(mylink)>0: rtmp2 = urllib.unquote(mylink[0]).decode('utf8') rtmp1 = re.compile('rtmp://(.*?)/(.*?)/(.*?)\?(.*?)\&streamType').findall(rtmp2) control.log('AMA1 %s' % (rtmp1)) control.log('AMA2 %s' % (rtmp2)) rtmp = 'rtmp://' + rtmp1[0][0] + '/' + rtmp1[0][1] +'/' +rtmp1[0][2]+ '?'+ rtmp1[0][3]+ ' app=' + rtmp1[0][1] + '?' +rtmp1[0][3]+' swfVfy=1 flashver=WIN\\2020,0,0,306 timeout=25 swfUrl=http://wizja.tv/player/StrobeMediaPlayback.swf live=true pageUrl='+ref control.log('AMA3 %s' % (rtmp)) return rtmp #kill other sessions elif len(mykill)>0: control.log('Error KILL %s' % mykill) urlkill = 'http://wizja.tv/killme.php?id=%s' % mykill[0] result = client.request(urlkill , headers=HOST, cookie=cookie) control.sleep(300) url = 'http://wizja.tv/porter.php?ch=%s' % id result = client.request(url, headers=HOST, cookie=cookie) mylink = re.compile('src: "(.*?)"').findall(result) if len(mylink)>0: rtmp2 = urllib.unquote(mylink[0]).decode('utf8') rtmp1 = re.compile('rtmp://(.*?)/(.*?)/(.*?)\?(.*?)\&streamType').findall(rtmp2) rtmp = 'rtmp://' + rtmp1[0][0] + '/' + rtmp1[0][1] +'/' +rtmp1[0][2]+ '?'+ rtmp1[0][3]+ ' app=' + rtmp1[0][1] + '?' +rtmp1[0][3]+' swfVfy=1 flashver=WIN\\2020,0,0,306 timeout=25 swfUrl=http://wizja.tv/player/StrobeMediaPlayback.swf live=true pageUrl='+ref return rtmp else: raise Exception('WWW: '+result) else: return except Exception as e: control.log('Error wizja.getstream %s' % e)
def onPlayBackStarted(self): for i in range(0, 200): if control.condVisibility('Window.IsActive(busydialog)') == 1: control.idle() else: break control.sleep(100) try: while(True): if self._playing == True: if self._service =='pierwsza': #control.log('PLAYBACK AAAAAAAAAAAAA %s' ) pierwsza.streamrefresh() control.sleep(5000) else: break else: break except: pass
def login(): try: client2._clean_cookies('http://wizja.tv/users/index.php') control.sleep(300) params = {} url = 'http://wizja.tv/users/index.php' result = client2.http_get(url) params['login'] = '******' params['user_name'] = control.get_setting('wizja.user') params['user_password'] = control.get_setting('wizja.pass') result = client2.http_get(url, data=params) control.sleep(300) #control.log('DATA %s' % result) if 'o..</font><br>' in result: #zly login control.log('WIZJA.TV ZLY LOGIN: %s' % result) control.infoDialog(control.lang(30486).encode('utf-8'), time=6000) raise Exception() elif 'Zalogowany jako :' in result: if '<font color=ff0000>Brak premium' in result: control.log('WIZJA.TV BRAK PREMIUM: %s' % result) control.infoDialog(control.lang(30490).encode('utf-8'), time=6000) raise Exception('NO premium') else: return True elif '<font color="#FF0000">Wpisa' in result: control.log( 'WIZJA.TV zbyt wiele razy pobowales - poczekaj 60 minut: %s' % result) control.infoDialog(control.lang(30487).encode('utf-8'), time=6000) raise Exception('zbyt wiele razy pobowales - poczekaj 60 minut') else: control.log('WIZJA.TV inny blad: %s' % result) control.infoDialog(control.lang(30488).encode('utf-8'), time=6000) raise Exception('Inny bład: ' + result) return False except Exception as e: control.log('Error wizja.login %s' % e) return False
def get(url, params={}): try: if getVideostarCredentialsInfo() == False: if control.yesnoDialog(control.lang(40001).encode('utf-8'), control.lang(30481).encode('utf-8'), '', 'Trakt', control.lang(30483).encode('utf-8'), control.lang(30482).encode('utf-8')): control.openSettings('2.3') raise Exception() url = urlparse.urljoin('https://api.videostar.pl', url) result = client.request(url, headers=headers, cookie=control.get_setting('videostar.sess')) r = json.loads(result) if r['status'] =="error" or result==None: if r['errors'][0]['code'] == 1: login() control.sleep(500) mycookie = control.get_setting('videostar.sess') result = client.source(url, headers=headers, cookie=control.get_setting('videostar.sess')) return result except Exception as e: control.log('Error videostar.get %s' % e) pass
def setView(content, viewDict=None): for i in range(0, 200): if control.condVisibility('Container.Content(%s)' % content): try: skin = control.skin record = (skin, content) dbcon = database.connect(control.databaseFile) dbcur = dbcon.cursor() dbcur.execute( "SELECT * FROM views WHERE skin = '%s' AND view_type = '%s'" % (record[0], record[1])) view = dbcur.fetchone() view = view[2] if view == None: raise Exception() return control.execute('Container.SetViewMode(%s)' % str(view)) except: try: return control.execute('Container.SetViewMode(%s)' % str(viewDict[skin])) except: return control.sleep(100)
def login(): #f getVideostarCredentialsInfo() == False: # raise Exception() params = {} #control.set_setting('videostar.sess', '') params['login'] = control.get_setting('videostar.user') params['password'] = control.get_setting('videostar.pass') params['permanent']=1 url = 'https://api.videostar.pl/user/login' result = client.request(url, post=params, headers=headers, output='cookie') control.log('ResultC videostar.get %s' % result) control.set_setting('videostar.sess', result) url='https://api.videostar.pl/invitations/limit' headers['cookie']=result result2 = client.request(url, headers=headers) if 'error' in result2: result2 = json.loads(result2) control.log('EEEEEEEEEEEE Result videostar.get %s' % result2['errors'][0]['msg']) control.infoDialog(result2['errors'][0]['msg'].encode('utf-8')) control.sleep(500) return result
def get(url, proxy=''): try: pl_proxy = control.setting('pl_proxy') pl_proxy_port = control.setting('pl_proxy_port') if getVideostarCredentialsInfo() == False: if control.yesnoDialog(control.lang(40001).encode('utf-8'), control.lang(30481).encode('utf-8'), '', 'Trakt', control.lang(30483).encode('utf-8'), control.lang(30482).encode('utf-8')): control.openSettings('1.11') raise Exception() url = urlparse.urljoin('https://api.videostar.pl', url) if proxy == '': result = client.request(url, headers=headers, cookie=control.get_setting('videostar.sess')) else: myproxy = pl_proxy if pl_proxy_port != '': myproxy = myproxy + ':' + pl_proxy_port myproxy_check = is_bad_proxy(myproxy) if not myproxy_check == '': control.dialog.ok(control.addonInfo('name'), control.lang(40013).encode('utf-8') + ' ' + myproxy_check.encode('utf-8'), '') control.openSettings('0.11') return None result = client.request(url, headers=headers, cookie=control.get_setting('videostar.sess'), proxy=myproxy) r = json.loads(result) if r['status'] =="error" or result==None: if r['errors'][0]['code'] == 1: login() control.sleep(500) mycookie = control.get_setting('videostar.sess') result = client.source(url, headers=headers, cookie=control.get_setting('videostar.sess')) return result except Exception as e: control.log('Error videostar.get %s' % e) pass
def play(self, name, title, service, meta, url): #control.log('BBB1 %s %s %s %s' % (name, title, meta,service)) try: if not control.infoLabel('Container.FolderPath').startswith('plugin://'): control.playlist.clear() control.resolve(int(sys.argv[1]), True, control.item(path='')) #control.execute('Dialog.Close(okdialog)') content = 'movie' url = self.sourcesDirect(service, meta) if url == None: raise Exception() if url == 'close://': return control.sleep(200) from resources.lib.lib.player import player player().run(name, url, meta,service) return url except: control.infoDialog(control.lang(30501).encode('utf-8'))
def playItem(self, content, name, year, imdb, tvdb, source): try: control.resolve(int(sys.argv[1]), True, control.item(path='')) control.execute('Dialog.Close(okdialog)') next = [] prev = [] total = [] meta = None for i in range(1, 10000): try: u = control.infoLabel('ListItem(%s).FolderPath' % str(i)) if u in total: raise Exception() total.append(u) u = dict(urlparse.parse_qsl(u.replace('?', ''))) if 'meta' in u: meta = u['meta'] u = json.loads(u['source'])[0] next.append(u) except: break for i in range(-10000, 0)[::-1]: try: u = control.infoLabel('ListItem(%s).FolderPath' % str(i)) if u in total: raise Exception() total.append(u) u = dict(urlparse.parse_qsl(u.replace('?', ''))) if 'meta' in u: meta = u['meta'] u = json.loads(u['source'])[0] prev.append(u) except: break items = json.loads(source) source, quality = items[0]['source'], items[0]['quality'] items = [ i for i in items + next + prev if i['quality'] == quality and i['source'] == source ][:10] items += [ i for i in next + prev if i['quality'] == quality and not i['source'] == source ][:10] self.progressDialog = control.progressDialog self.progressDialog.create(control.addonInfo('name'), '') self.progressDialog.update(0) block = None for i in range(len(items)): try: self.progressDialog.update( int((100 / float(len(items))) * i), str(items[i]['label']), str(' ')) if items[i]['source'] == block: raise Exception() w = workers.Thread(self.sourcesResolve, items[i]['url'], items[i]['provider']) w.start() m = '' for x in range(3600): if self.progressDialog.iscanceled(): return self.progressDialog.close() if xbmc.abortRequested == True: return sys.exit() k = control.condVisibility( 'Window.IsActive(virtualkeyboard)') if k: m += '1' m = m[-1] if (w.is_alive() == False or x > 30) and not k: break time.sleep(1) for x in range(30): if m == '': break if self.progressDialog.iscanceled(): return self.progressDialog.close() if xbmc.abortRequested == True: return sys.exit() if w.is_alive() == False: break time.sleep(1) if w.is_alive() == True: block = items[i]['source'] if self.url == None: raise Exception() try: self.progressDialog.close() except: pass control.sleep(200) if control.setting('playback_info') == 'true': control.infoDialog(items[i]['label'], heading=name) from resources.lib.lib.player import player player().run(content, name, self.url, year, imdb, tvdb, meta) return self.url except: pass try: self.progressDialog.close() except: pass raise Exception() except: control.infoDialog(control.lang(30501).encode('utf-8')) pass
def wizjalogin(): try: params = {} url = 'http://wizja.tv/users/index.php' #result, headers, content, cookie = client.request(url, output='extended') params['login'] = '******' params['user_name'] = control.get_setting('wizja.user') params['user_password'] = control.get_setting('wizja.pass') #login to site result, headers, content, cookie = client.request(url, post=params, headers=HOST, output='extended') control.set_setting('wizja.token', cookie) #wrong login if '<font color="#FF0000">Błędne hasło..</font>' in result: #zly login control.log('WIZJA.TV ZLY LOGIN: %s' % result) control.infoDialog(control.lang(30497).encode('utf-8'), time=6000) control.dialog.ok( control.addonInfo('name') + ' - WIZJA TV', control.lang(30497).encode('utf-8'), '') raise Exception() elif 'lub hasło.</font>' in result: #zly login control.log('WIZJA.TV ZLY LOGIN: %s' % result) control.infoDialog(control.lang(30486).encode('utf-8'), time=6000) control.dialog.ok( control.addonInfo('name') + ' - WIZJA TV', control.lang(30486).encode('utf-8'), '') raise Exception() elif 'Zalogowany jako :' in result: #no premium if '<font color=ff0000>Brak premium' in result: control.log('WIZJA.TV BRAK PREMIUM: %s' % result) control.infoDialog(control.lang(30490).encode('utf-8'), time=6000) control.dialog.ok( control.addonInfo('name') + ' - WIZJA TV', control.lang(30490).encode('utf-8'), '') raise Exception('NO premium') else: try: premium = re.findall( 'Premium aktywne do (\d{4}.*?)</font>', result)[0] control.set_setting('wizja.expire', premium) control.infoDialog('Premium Wizja.tv do: ' + premium.encode('utf-8'), time=2000) control.sleep(500) except: pass return True, cookie #account locked - wait 60 minutes elif '<font color="#FF0000">Wpisa' in result: control.log( 'WIZJA.TV zbyt wiele razy pobowales - poczekaj 60 minut: %s' % result) control.infoDialog(control.lang(30487).encode('utf-8'), time=6000) control.dialog.ok( control.addonInfo('name') + ' - WIZJA TV', control.lang(30487).encode('utf-8'), '') raise Exception('zbyt wiele razy pobowales - poczekaj 60 minut') #Other error else: control.log('WIZJA.TV inny blad: %s' % result) control.infoDialog(control.lang(30488).encode('utf-8'), time=6000) raise Exception('Inny bład: ' + result) return False except Exception as e: control.log('Error wizja.login %s' % e) return False
def playItem(self, content, name, year, imdb, tvdb, source): try: control.resolve(int(sys.argv[1]), True, control.item(path='')) control.execute('Dialog.Close(okdialog)') next = [] ; prev = [] ; total = [] meta = None for i in range(1,10000): try: u = control.infoLabel('ListItem(%s).FolderPath' % str(i)) if u in total: raise Exception() total.append(u) u = dict(urlparse.parse_qsl(u.replace('?',''))) if 'meta' in u: meta = u['meta'] u = json.loads(u['source'])[0] next.append(u) except: break for i in range(-10000,0)[::-1]: try: u = control.infoLabel('ListItem(%s).FolderPath' % str(i)) if u in total: raise Exception() total.append(u) u = dict(urlparse.parse_qsl(u.replace('?',''))) if 'meta' in u: meta = u['meta'] u = json.loads(u['source'])[0] prev.append(u) except: break items = json.loads(source) source, quality = items[0]['source'], items[0]['quality'] items = [i for i in items+next+prev if i['quality'] == quality and i['source'] == source][:10] items += [i for i in next+prev if i['quality'] == quality and not i['source'] == source][:10] self.progressDialog = control.progressDialog self.progressDialog.create(control.addonInfo('name'), '') self.progressDialog.update(0) block = None for i in range(len(items)): try: self.progressDialog.update(int((100 / float(len(items))) * i), str(items[i]['label']), str(' ')) if items[i]['source'] == block: raise Exception() w = workers.Thread(self.sourcesResolve, items[i]['url'], items[i]['provider']) w.start() m = '' for x in range(3600): if self.progressDialog.iscanceled(): return self.progressDialog.close() if xbmc.abortRequested == True: return sys.exit() k = control.condVisibility('Window.IsActive(virtualkeyboard)') if k: m += '1'; m = m[-1] if (w.is_alive() == False or x > 30) and not k: break time.sleep(1) for x in range(30): if m == '': break if self.progressDialog.iscanceled(): return self.progressDialog.close() if xbmc.abortRequested == True: return sys.exit() if w.is_alive() == False: break time.sleep(1) if w.is_alive() == True: block = items[i]['source'] if self.url == None: raise Exception() try: self.progressDialog.close() except: pass control.sleep(200) if control.setting('playback_info') == 'true': control.infoDialog(items[i]['label'], heading=name) from resources.lib.lib.player import player player().run(content, name, self.url, year, imdb, tvdb, meta) return self.url except: pass try: self.progressDialog.close() except: pass raise Exception() except: control.infoDialog(control.lang(30501).encode('utf-8')) pass
def login(): try: #clean cookies client2._clean_cookies('http://wizja.tv/users/index.php') control.sleep(300) params = {} url = 'http://wizja.tv/users/index.php' result = client2.http_get(url) params['login'] = '******' params['user_name'] = control.get_setting('wizja.user') params['user_password'] = control.get_setting('wizja.pass') #login to site result = client2.http_get(url, data=params) control.sleep(300) control.log('WIZJA %s' % result) #wrong login if '<font color="#FF0000">Błędne hasło..</font>' in result: #zly login control.log('WIZJA.TV ZLY LOGIN: %s' % result) control.infoDialog(control.lang(30497).encode('utf-8'), time=6000) control.dialog.ok( control.addonInfo('name') + ' - WIZJA TV', control.lang(30497).encode('utf-8'), '') raise Exception() elif 'lub hasło.</font>' in result: #zly login control.log('WIZJA.TV ZLY LOGIN: %s' % result) control.infoDialog(control.lang(30486).encode('utf-8'), time=6000) control.dialog.ok( control.addonInfo('name') + ' - WIZJA TV', control.lang(30486).encode('utf-8'), '') raise Exception() elif 'Zalogowany jako :' in result: #no premium if '<font color=ff0000>Brak premium' in result: control.log('WIZJA.TV BRAK PREMIUM: %s' % result) control.infoDialog(control.lang(30490).encode('utf-8'), time=6000) control.dialog.ok( control.addonInfo('name') + ' - WIZJA TV', control.lang(30490).encode('utf-8'), '') raise Exception('NO premium') else: #all ok, return True return True #account locked - wait 60 minutes elif '<font color="#FF0000">Wpisa' in result: control.log( 'WIZJA.TV zbyt wiele razy pobowales - poczekaj 60 minut: %s' % result) control.infoDialog(control.lang(30487).encode('utf-8'), time=6000) control.dialog.ok( control.addonInfo('name') + ' - WIZJA TV', control.lang(30487).encode('utf-8'), '') raise Exception('zbyt wiele razy pobowales - poczekaj 60 minut') #Other error else: control.log('WIZJA.TV inny blad: %s' % result) control.infoDialog(control.lang(30488).encode('utf-8'), time=6000) raise Exception('Inny bład: ' + result) return False except Exception as e: control.log('Error wizja.login %s' % e) return False