def playLevel(): dp = xbmcgui.DialogProgressBG(); dp.create('IPTV', 'Loading ...'); stalker_url = args.get('stalker_url', None) stalker_url = stalker_url[0]; title = args['title'][0]; cmd = args['cmd'][0]; tmp = args['tmp'][0]; genre_name = args['genre_name'][0]; logo_url = args['logo_url'][0]; try: if genre_name!='VoD': url = load_channels.retriveUrl(stalker_url, cmd, tmp); else: url = load_channels.retriveVoD(stalker_url, cmd); except: dp.close(); xbmcgui.Dialog().notification(addonname, 'Channel Offline', xbmcgui.NOTIFICATION_INFO ); return; dp.update(80); li = xbmcgui.ListItem(title, iconImage=logo_url); li.setInfo('video', {'Title': title, 'Genre': genre_name}); xbmc.Player().play(item=url, listitem=li); dp.update(100); dp.close();
def playLevel(): dp = xbmcgui.DialogProgressBG() dp.create("Channel", "Loading ...") title = args["title"][0] cmd = args["cmd"][0] tmp = args["tmp"][0] genre_name = args["genre_name"][0] logo_url = args["logo_url"][0] try: if genre_name != "VoD": url = load_channels.retriveUrl(portal["mac"], portal["url"], portal["serial"], cmd, tmp) else: url = load_channels.retriveVoD(portal["mac"], portal["url"], portal["serial"], cmd) except Exception as e: dp.close() xbmcgui.Dialog().notification(addonname, str(e), xbmcgui.NOTIFICATION_ERROR) return dp.update(80) title = title.decode("utf-8") title += " (" + portal["name"] + ")" li = xbmcgui.ListItem(title, iconImage="special://home/addons/plugin.video.ufo/fanart.jpg", thumbnailImage=logo_url) li.setInfo("video", {"Title": title, "Genre": genre_name}) xbmc.Player().play(item=url, listitem=li) dp.update(100) dp.close()
def playLevel(): dp = xbmcgui.DialogProgressBG() dp.create('IPTV', 'Loading ...') title = args['title'][0] cmd = args['cmd'][0] tmp = args['tmp'][0] genre_name = args['genre_name'][0] logo_url = args['logo_url'][0] print "*****************DEBUG IPTV STALKER PLAY LEVEL CALL*******************************" print portal['mac'] print portal['url'] print portal['serial'] print cmd print tmp try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp) else: url = load_channels.retriveVoD(portal['mac'], portal['url'], portal['serial'], cmd) except Exception as e: dp.close() xbmcgui.Dialog().notification(addonname, str(e), xbmcgui.NOTIFICATION_ERROR) return print url print "*****************DEBUG IPTV STALKER PLAY LEVEL CALL END****************************" dp.update(80) title = title.decode("utf-8") title += ' (' + portal['name'] + ')' li = xbmcgui.ListItem(title, iconImage=logo_url) li.setInfo('video', { 'Title': title, 'Genre': genre_name }) xbmc.Player().play(item=url, listitem=li) dp.update(100) dp.close()
def playLevel(): dp = xbmcgui.DialogProgressBG(); dp.create('IPTV', 'Loading ...'); title = args['title'][0]; cmd = args['cmd'][0]; tmp = args['tmp'][0]; genre_name = args['genre_name'][0]; logo_url = args['logo_url'][0]; print "*****************DEBUG IPTV STALKER PLAY LEVEL CALL*******************************" print portal['mac']; print portal['url']; print portal['serial']; print cmd; print tmp; try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp); else: url = load_channels.retriveVoD(portal['mac'], portal['url'], portal['serial'], cmd); except Exception as e: dp.close(); xbmcgui.Dialog().notification(addonname, str(e), xbmcgui.NOTIFICATION_ERROR ); return; print url; print "*****************DEBUG IPTV STALKER PLAY LEVEL CALL END****************************" dp.update(80); title = title.decode("utf-8"); title += ' (' + portal['name'] + ')'; li = xbmcgui.ListItem(title, iconImage=logo_url); li.setInfo('video', {'Title': title, 'Genre': genre_name}); xbmc.Player().play(item=url, listitem=li); dp.update(100); dp.close();
def playLevel(): stalker_url = args.get('stalker_url', None) stalker_url = stalker_url[0]; title = args['title'][0]; cmd = args['cmd'][0]; tmp = args['tmp'][0]; genre_name = args['genre_name'][0]; logo_url = args['logo_url'][0]; if genre_name!='VoD': url = load_channels.retriveUrl(stalker_url, cmd, tmp); else: url = load_channels.retriveVoD(stalker_url, cmd); li = xbmcgui.ListItem(title, iconImage=logo_url); li.setInfo('video', {'Title': title, 'Genre': genre_name}); xbmc.Player().play(item=url, listitem=li);
def playLevel(): dp = xbmcgui.DialogProgressBG() dp.create('Channel', 'Loading ...') title = args['title'][0] cmd = args['cmd'][0] tmp = args['tmp'][0] genre_name = args['genre_name'][0] logo_url = args['logo_url'][0] try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp) else: url = load_channels.retriveVoD(portal['mac'], portal['url'], portal['serial'], cmd) except Exception as e: dp.close() xbmcgui.Dialog().notification(addonname, str(e), xbmcgui.NOTIFICATION_ERROR) return dp.update(80) title = title.decode("utf-8") title += ' (' + portal['name'] + ')' # li = xbmcgui.ListItem(title, iconImage=logo_url); <modified 9.0.19 li = xbmcgui.ListItem(title, iconImage='DefaultVideo.png', thumbnailImage=logo_url) li.setInfo('video', { 'Title': title, 'Genre': genre_name }) xbmc.Player().play(item=url, listitem=li) dp.update(100) dp.close()
def playLevel(): dp = xbmcgui.DialogProgressBG() dp.create('IPTV', 'Loading ...') stalker_url = args.get('stalker_url', None) stalker_url = stalker_url[0] portal_mac = args.get('portal_mac', '') if portal_mac != '': portal_mac = portal_mac[0] title = args['title'][0] cmd = args['cmd'][0] tmp = args['tmp'][0] genre_name = args['genre_name'][0] logo_url = args['logo_url'][0] try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal_mac, stalker_url, cmd, tmp) else: url = load_channels.retriveVoD(portal_mac, stalker_url, cmd) except: dp.close() xbmcgui.Dialog().notification(addonname, 'Channel Offline', xbmcgui.NOTIFICATION_INFO) return dp.update(80) li = xbmcgui.ListItem(title, iconImage=logo_url) li.setInfo('video', { 'Title': title, 'Genre': genre_name }) xbmc.Player().play(item=url, listitem=li) dp.update(100) dp.close()
def playLevel(): dp = xbmcgui.DialogProgressBG() dp.create('Channel', 'Loading ...') title = args['title'][0] cmd = args['cmd'][0] tmp = args['tmp'][0] genre_name = args['genre_name'][0] logo_url = args['logo_url'][0] try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp) else: url = load_channels.retriveVoD(portal['mac'], portal['url'], portal['serial'], cmd) except Exception: dp.close() pain() return dp.update(80) title = title.decode("utf-8") title += ' (' + portal['name'] + ')' li = xbmcgui.ListItem( title, iconImage='special://home/addons/plugin.video.dnatv/fanart.jpg', thumbnailImage=logo_url) li.setInfo('video', {'Title': title, 'Genre': genre_name}) xbmc.Player().play(item=url, listitem=li) dp.update(100) dp.close()
def playLevel(): dp = xbmcgui.DialogProgressBG(); dp.create('Channel', 'Loading ...'); title = args['title'][0]; cmd = args['cmd'][0]; tmp = args['tmp'][0]; genre_name = args['genre_name'][0]; logo_url = args['logo_url'][0]; try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp); else: url = load_channels.retriveVoD(portal['mac'], portal['url'], portal['serial'], cmd); except Exception as e: dp.close(); xbmcgui.Dialog().notification(addonname, str(e), xbmcgui.NOTIFICATION_ERROR ); return; dp.update(80); title = title.decode("utf-8"); title += ' (' + portal['name'] + ')'; # li = xbmcgui.ListItem(title, iconImage=logo_url); <modified 9.0.19 li = xbmcgui.ListItem(title, iconImage='DefaultVideo.png', thumbnailImage=logo_url); li.setInfo('video', {'Title': title, 'Genre': genre_name}); xbmc.Player().play(item=url, listitem=li); dp.update(100); dp.close();
def playLevel(): dp = xbmcgui.DialogProgressBG() dp.create('Channel', 'Loading ...') title = args['title'][0] cmd = args['cmd'][0] tmp = args['tmp'][0] genre_name = args['genre_name'][0] logo_url = args['logo_url'][0] try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp) else: url = load_channels.retriveVoD(portal['mac'], portal['url'], portal['serial'], cmd) except Exception: dp.close() pain() return dp.update(80) title = title.decode("utf-8") title += ' (' + portal['name'] + ')' li = xbmcgui.ListItem(title, iconImage='special://home/addons/plugin.video.dnatv/fanart.jpg', thumbnailImage=logo_url) li.setInfo('video', {'Title': title, 'Genre': genre_name}) xbmc.Player().play(item=url, listitem=li) dp.update(100) dp.close()
def playLevel(): dp = xbmcgui.DialogProgressBG(); dp.create('Channel', 'Loading ...'); title = args['title'][0]; cmd = args['cmd'][0]; tmp = args['tmp'][0]; genre_name = args['genre_name'][0]; logo_url = args['logo_url'][0]; try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp); else: url = load_channels.retriveVoD(portal['mac'], portal['url'], portal['serial'], cmd); except Exception: dp.close(); pain(); return; dp.update(80); title = title.decode("utf-8"); title += ' (' + portal['name'] + ')'; li = xbmcgui.ListItem(title, iconImage=logo_url, thumbnailImage=logo_url); li.setInfo('video', {'Title': title, 'Genre': genre_name}); xbmc.Player().play(item=url, listitem=li); dp.update(100); dp.close();
def playLevel(): dp = xbmcgui.DialogProgressBG(); dp.create('IPTV', 'Loading ...'); title = args['title'][0]; cmd = args['cmd'][0]; tmp = args['tmp'][0]; genre_name = args['genre_name'][0]; logo_url = args['logo_url'][0]; try: if genre_name != 'VoD': url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp); else: url = load_channels.retriveVoD(portal['mac'], portal['url'], portal['serial'], cmd); except Exception as e: dp.close(); xbmcgui.Dialog().notification(addonname, str(e), xbmcgui.NOTIFICATION_ERROR ); return; dp.update(80); title = title.decode("utf-8"); title += ' (' + portal['name'] + ')'; li = xbmcgui.ListItem(title, iconImage=logo_url); li.setInfo('video', {'Title': title, 'Genre': genre_name}); xbmc.Player().play(item=url, listitem=li); dp.update(100); dp.close();
def do_GET(self): global portals, server; try: if re.match('.*channels-([0-9])\..*|.*channels\..*\?portal=([0-9])', self.path): host = self.headers.get('Host'); searchObj = re.search('.*channels-([0-9])\..*|.*channels\..*\?portal=([0-9])', self.path); if searchObj.group(1) != None: numportal = searchObj.group(1); elif searchObj.group(2) != None: numportal = searchObj.group(2); else: self.send_error(400,'Bad Request'); return; portal = portals[numportal]; EXTM3U = "#EXTM3U\n"; try: data = load_channels.getAllChannels(portal['mac'], portal['url'], portal['serial'], portal['login'], portal['password'], addondir); data = load_channels.orderChannels(data['channels'].values()); for i in data: name = i["name"]; cmd = i["cmd"]; tmp = i["tmp"]; number = i["number"]; genre_title = i["genre_title"]; genre_id = i["genre_id"]; logo = i["logo"]; if logo != '': logo = portal['url'] + '/stalker_portal/misc/logos/320/' + logo; parameters = urllib.urlencode( { 'channel' : cmd, 'tmp' : tmp, 'portal' : numportal } ); EXTM3U += '#EXTINF:-1, tvg-id="' + number + '" tvg-name="' + name + '" tvg-logo="' + logo + '" group-title="' + genre_title + '", ' + name + '\n'; EXTM3U += 'http://' + host + '/live.m3u?' + parameters +'\n\n'; except Exception as e: EXTM3U += '#EXTINF:-1, tvg-id="Error" tvg-name="Error" tvg-logo="" group-title="Error", ' + portal['name'] + ' ' + str(e) + '\n'; EXTM3U += 'http://\n\n'; self.send_response(200) self.send_header('Content-type', 'application/x-mpegURL') #self.send_header('Content-type', 'text/html') self.send_header('Connection', 'close') self.send_header('Content-Length', len(EXTM3U)) self.end_headers() self.wfile.write(EXTM3U.encode('utf-8')) self.finish() elif 'live.m3u' in self.path: args = parse_qs(urlparse(self.path).query); cmd = args['channel'][0]; tmp = args['tmp'][0]; numportal = args['portal'][0]; portal = portals[numportal]; url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], portal['login'], portal['password'], cmd, tmp); self.send_response(301) self.send_header('Location', url) self.end_headers() self.finish() # elif 'epg.xml' in self.path: # # args = parse_qs(urlparse(self.path).query); # numportal = args['portal'][0]; # # portal = portals[numportal]; # # try: # xml = load_channels.getEPG(portal['mac'], portal['url'], portal['serial'], addondir); # except Exception as e: # xml = '<?xml version="1.0" encoding="ISO-8859-1"?>' # xml += '<error>' + str(e) + '</error>'; # # # self.send_response(200) # self.send_header('Content-type', 'txt/xml') # self.send_header('Connection', 'close') # self.send_header('Content-Length', len(xml)) # self.end_headers() # self.wfile.write(xml) # self.finish() elif 'stop' in self.path: msg = 'Stopping ...'; self.send_response(200) self.send_header('Content-type', 'text/html') self.send_header('Connection', 'close') self.send_header('Content-Length', len(msg)) self.end_headers() self.wfile.write(msg.encode('utf-8')) server.socket.close(); elif 'online' in self.path: msg = 'Yes. I am.'; self.send_response(200) self.send_header('Content-type', 'text/html') self.send_header('Connection', 'close') self.send_header('Content-Length', len(msg)) self.end_headers() self.wfile.write(msg.encode('utf-8')) else: self.send_error(400,'Bad Request'); except IOError: self.send_error(500,'Internal Server Error ' + str(IOError))
def do_GET(self): global portals, server try: if re.match( '.*channels-([0-9])\..*|.*channels\..*\?portal=([0-9])', self.path): host = self.headers.get('Host') searchObj = re.search( '.*channels-([0-9])\..*|.*channels\..*\?portal=([0-9])', self.path) if searchObj.group(1) != None: numportal = searchObj.group(1) elif searchObj.group(2) != None: numportal = searchObj.group(2) else: self.send_error(400, 'Bad Request') return portal = portals[numportal] EXTM3U = "#EXTM3U\n" try: data = load_channels.getAllChannels( portal['mac'], portal['url'], portal['serial'], addondir) data = load_channels.orderChannels( data['channels'].values()) for i in data: name = i["name"] cmd = i["cmd"] tmp = i["tmp"] number = i["number"] genre_title = i["genre_title"] genre_id = i["genre_id"] logo = i["logo"] if logo != '': logo = portal[ 'url'] + '/stalker_portal/misc/logos/320/' + logo parameters = urllib.urlencode({ 'channel': cmd, 'tmp': tmp, 'portal': numportal }) EXTM3U += '#EXTINF:-1, tvg-id="' + number + '" tvg-name="' + name + '" tvg-logo="' + logo + '" group-title="' + genre_title + '", ' + name + '\n' EXTM3U += 'http://' + host + '/live.m3u?' + parameters + '\n\n' except Exception as e: EXTM3U += '#EXTINF:-1, tvg-id="Error" tvg-name="Error" tvg-logo="" group-title="Error", ' + portal[ 'name'] + ' ' + str(e) + '\n' EXTM3U += 'http://\n\n' self.send_response(200) self.send_header('Content-type', 'application/x-mpegURL') #self.send_header('Content-type', 'text/html') self.send_header('Connection', 'close') self.send_header('Content-Length', len(EXTM3U)) self.end_headers() self.wfile.write(EXTM3U.encode('utf-8')) self.finish() elif 'live.m3u' in self.path: args = parse_qs(urlparse(self.path).query) cmd = args['channel'][0] tmp = args['tmp'][0] numportal = args['portal'][0] portal = portals[numportal] url = load_channels.retriveUrl(portal['mac'], portal['url'], portal['serial'], cmd, tmp) self.send_response(301) self.send_header('Location', url) self.end_headers() self.finish() elif 'epg.xml' in self.path: args = parse_qs(urlparse(self.path).query) numportal = args['portal'][0] portal = portals[numportal] try: xml = load_channels.getEPG(portal['mac'], portal['url'], portal['serial'], addondir) except Exception as e: xml = '<?xml version="1.0" encoding="ISO-8859-1"?>' xml += '<error>' + str(e) + '</error>' self.send_response(200) self.send_header('Content-type', 'txt/xml') self.send_header('Connection', 'close') self.send_header('Content-Length', len(xml)) self.end_headers() self.wfile.write(xml) self.finish() elif 'stop' in self.path: msg = 'Stopping ...' self.send_response(200) self.send_header('Content-type', 'text/html') self.send_header('Connection', 'close') self.send_header('Content-Length', len(msg)) self.end_headers() self.wfile.write(msg.encode('utf-8')) server.socket.close() elif 'online' in self.path: msg = 'Yes. I am.' self.send_response(200) self.send_header('Content-type', 'text/html') self.send_header('Connection', 'close') self.send_header('Content-Length', len(msg)) self.end_headers() self.wfile.write(msg.encode('utf-8')) else: self.send_error(400, 'Bad Request') except IOError: self.send_error(500, 'Internal Server Error ' + str(IOError))