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();
Exemple #2
0
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()
Exemple #3
0
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();
Exemple #5
0
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);
Exemple #6
0
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()
Exemple #7
0
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()
Exemple #8
0
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()
Exemple #9
0
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();
Exemple #10
0
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(); 
Exemple #12
0
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();
Exemple #13
0
    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))
Exemple #14
0
    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))