def extras():
    tools.addDir(
        'APK Installer', 'tv', 9999919, icon, fanart,
        "Install Various Android Applications.[CR][CR]For Android Devices Only."
    )
    tools.addDir(
        'Football Guide', 'tv', 9999914, icon, fanart,
        "Find out who's playing football, then be taken straight to the stream!"
    )
    tools.addDir(
        'Edit Advanced Settings', 'url', 9999918, icon, fanart,
        "This setting enables you to edit the Advanced Settings in Kodi[CR][CR]In most cases allowing a smoother stream."
    )
    tools.addDir(
        'M3U & EPG Url Generator', 'm3unepg', 9999910, icon, fanart,
        "Create a M3U and EPG URL and then run it through TinyUrl.com[CR][CR]Making the URL's up to 100+ characters smaller"
    )
    tools.addDir(
        'Integrate With PVR TV Guide', 'tv', 9999917, icon, fanart,
        "Integrate StreamHub Premium Live Streams and EPG with Kodi's inbuilt TV Guide.[CR][CR]Allowing A Full, Sleek Looking TV Guide!"
    )
    if xbmcaddon.Addon('plugin.video.streamhub').getSetting(
            'vodsource') == 'true':
        VOD = '[B][COLOR lime]ON[/COLOR][/B]'
    else:
        VOD = '[B][COLOR red]OFF[/COLOR][/B]'
def footballguide():
    url = 'http://www.wheresthematch.com/live-football-on-tv/'
    open = tools.OPEN_URL(url)
    all_lists = tools.regex_get_all(open, '<td class="home-team">', '</tr>')
    tools.addDir(
        '[COLOR blue]Only Shows Main Matches - Find More at http://liveonsat.com[/COLOR]',
        'url', 500, icon, fanart, '')
    for a in all_lists:
        name = re.compile(
            '<em class="">(.*?)<em class="">(.*?)</em>.*?<em class="">(.*?)</em>',
            re.DOTALL).findall(a)
        for home, v, away in name:
            koff = tools.regex_from_to(a, '<strong>', '</strong>')
            chan = tools.regex_from_to(a, 'class="channel-name">', '</span>')
            if chan == "Live Stream":
                chan = 'Check liveonsat.com'
            if chan == 'LFC TV':
                chan = 'LFCTV'
            thumb = tools.regex_from_to(a, '    <img src="', '"')
            if 'Bet 365 Live' not in chan:
                tools.addDir(
                    koff + ' - ' + str(home).replace('</em>', '') + ' ' + v +
                    '  ' + away + '   -   [COLOR blue]%s[/COLOR]' % chan,
                    'url', 9999915, 'http://www.wheresthematch.com' +
                    str(thumb).replace('..', ''), fanart, chan)
def apkdownloads():
    open = requests.get(
        'https://raw.githubusercontent.com/sClarkeIsBack/StreamHub/master/Links/apks.txt'
    ).text
    all = re.compile('<item>.+?title>(.+?)<.+?link>(.+?)<.+?thumbnail>(.+?)<',
                     re.DOTALL | re.MULTILINE).findall(open)
    for name, url, icon in all:
        tools.addDir(name, url, 9999910, icon, fanart, name)
def home():
			
			#tools.addDir('[COLOR white][B]A[/COLOR][COLOR white]rea Adulti Vip[/COLOR][/B]','live',999991,'https://s18.postimg.org/ggshmv5g9/livetv.png',fanart,'')
			#tools.addDir('[COLOR white][B]L[/COLOR][COLOR white]ive Events[/COLOR][/B]','live',999991,'https://s18.postimg.org/ggshmv5g9/livetv.png',fanart,'')
			#tools.addDir('[COLOR white][B]C[/COLOR][COLOR white]atchup Tv[/COLOR][/B]','url',9999912,'https://s18.postimg.org/wp8pwceah/CATCHUP.png',fanart,'')#
			if xbmc.getCondVisibility('System.HasAddon(pvr.iptvsimple)'):
				tools.addDir('[COLOR white][B]T[/COLOR][COLOR green]V Guide[/COLOR][/B]','pvr',999997,'http://stefanoaddon.info/immaggini/tvgiude.png',fanart,'')
			#tools.addDir('[COLOR white][B]O[/COLOR][COLOR white]n Demand[/COLOR][/B]','vod',999993,'https://s18.postimg.org/82cuys4ex/VOD.png',fanart,'')
			
			tools.addDir('[COLOR white][B]E[/COLOR][COLOR green]xtras[/COLOR][/B]','url',9999916,'http://stefanoaddon.info/immaggini/exstra.png',fanart,'')			
def footballguidesearch(description):
    if description == 'BBC1 Scotland':
        tools.addDir(
            'BBC1 Scotland',
            'http://a.files.bbci.co.uk/media/live/manifesto/audio_video/simulcast/hls/uk/abr_hdtv/ak/bbc_one_scotland_hd.m3u8',
            4, icon, fanart, '')
    else:
        open = tools.OPEN_URL(panel_api)
        all_chans = tools.regex_get_all(open, '{"num":', 'epg')
        for a in all_chans:
            name = tools.regex_from_to(a, 'name":"', '"').replace('\/', '/')
            url = tools.regex_from_to(a, '"stream_id":"', '"')
            thumb = tools.regex_from_to(a, 'stream_icon":"',
                                        '"').replace('\/', '/')
            chan = description.lower()
            if chan in name.lower():
                tools.addDir(
                    name.replace(
                        'UK:', '[COLOR ffff0000][B]UK:[/COLOR][/B]').replace(
                            'USA/CA:',
                            '[COLOR ffff0000][B]USA/CA:[/COLOR][/B]').replace(
                                'All', '[COLOR ffff0000][B]All[/COLOR][/B]').
                    replace(
                        'International Sport',
                        '[COLOR ffff0000][B]INT: [/COLOR][/B]International Sport'
                    ).replace('Live:',
                              '[COLOR ffff0000][B]Live:[/COLOR][/B]').replace(
                                  'TEST',
                                  '[COLOR ffff0000][B]TEST[/COLOR][/B]').
                    replace(
                        'Install',
                        '[COLOR ffff0000][B]Install[/COLOR][/B]').replace(
                            '24/7',
                            '[COLOR ffff0000][B]24/7: [/COLOR][/B]Channels').
                    replace(
                        'DE:', '[COLOR ffff0000][B]DE:[/COLOR][/B]').replace(
                            'FR:',
                            '[COLOR ffff0000][B]FR:[/COLOR][/B]').replace(
                                'PL:',
                                '[COLOR ffff0000][B]PL:[/COLOR][/B]').replace(
                                    'AR:',
                                    '[COLOR ffff0000][B]AR:[/COLOR][/B]').
                    replace(
                        'LIVE:',
                        '[COLOR ffff0000][B]LIVE:[/COLOR][/B]').replace(
                            'ES:',
                            '[COLOR ffff0000][B]ES:[/COLOR][/B]').replace(
                                'IN:',
                                '[COLOR ffff0000][B]IN:[/COLOR][/B]').replace(
                                    'PK:',
                                    '[COLOR ffff0000][B]PK:[/COLOR][/B]').
                    replace(
                        'NBC Extra Time',
                        '[COLOR ffff0000][B]NBC:[/COLOR][/B] NBC Extra Time'),
                    play_url + url + '.ts', 999994, thumb, fanart, '')
def start(type):
		
			
			#tools.addDir('[COLOR white][B]A[/COLOR][COLOR white]rea Adulti Vip[/COLOR][/B]','url',999991,'https://s18.postimg.org/ggshmv5g9/livetv.png',fanart,"Get Access to All of Your Favourite Channels, In Stunning HD")
			#tools.addDir('[COLOR white][B]L[/COLOR][COLOR white]ive Events[/COLOR][/B]','LIVE',999991,'https://s18.postimg.org/ggshmv5g9/livetv.png',fanart,"Containing Live Events, Including: NBA, NFL, NHL, MLB, English Premier League and PPV!")
			#tools.addDir('[COLOR white][B]C[/COLOR][COLOR white]atchup Tv[/COLOR][/B]','url',9999912,'https://s18.postimg.org/wp8pwceah/CATCHUP.png',fanart,"Get Access To Full 7 Days Catchup Tv On A Whole Bunch Of Channels!")#
			if xbmc.getCondVisibility('System.HasAddon(pvr.iptvsimple)'):
				tools.addDir('[COLOR white][B]T[/COLOR][COLOR green]V Guide[/COLOR][/B]','pvr',999997,'http://stefanoaddon.info/immaggini/tvgiude.png',fanart,"Open Kodi's Inbuilt Tv Guide")
			#tools.addDir('[COLOR white][B]O[/COLOR][COLOR white]n Demand[/COLOR][/B]','vod',999993,'https://s18.postimg.org/82cuys4ex/VOD.png',fanart,'')
			
			tools.addDir('[COLOR white][B]E[/COLOR][COLOR green]xtras[/COLOR][/B]','url',9999916,'http://stefanoaddon.info/immaggini/exstra.png',fanart,"Some Extra Features, Inlcuding Football Guides. Setting Tweaks and More")
def listcatchup():
	open = tools.OPEN_URL(panel_api)
	all  = tools.regex_get_all(open,'{"num','direct')
	for a in all:
		if '"tv_archive":1' in a:
			name = tools.regex_from_to(a,'"epg_channel_id":"','"').replace('\/','/')
			thumb= tools.regex_from_to(a,'"stream_icon":"','"').replace('\/','/')
			id   = tools.regex_from_to(a,'stream_id":"','"')
			if not name=="":
				name = name.replace('ENT:','[B]ENT:[/B]').replace('KID:','[B]KID:[/B]').replace('MOV:','[B]MOV:[/B]').replace('DOC:','[B]DOC:[/B]').replace('SSS:','[B]SSS:[/B]').replace('BTS:','[B]BTS:[/B]').replace('UKS:','[B]UKS:[/B]')
				tools.addDir(name,'url',9999913,thumb,fanart,id)
def Livelist(url):
	url  = buildcleanurl(url)
	open = tools.OPEN_URL(url)
	all_cats = tools.regex_get_all(open,'<channel>','</channel>')
	for a in all_cats:
		name = tools.regex_from_to(a,'<title>','</title>')
		name = base64.b64decode(name)
		xbmc.log(str(name))
		name = re.sub('\[.*?min ','-',name)
		thumb= tools.regex_from_to(a,'<desc_image>','</desc_image>').replace('<![CDATA[','').replace(']]>','')
		url1  = tools.regex_from_to(a,'<stream_url>','</stream_url>').replace('<![CDATA[','').replace(']]>','')
		desc = tools.regex_from_to(a,'<description>','</description>')
		tools.addDir(name.replace('UK:','[COLOR white][B]UK:[/COLOR][/B]').replace('USA/CA:','[COLOR white][B]USA/CA:[/COLOR][/B]').replace('All','[COLOR white][B]A[/COLOR][/B]ll').replace('International','[COLOR white][B]Int[/COLOR][/B]ertaional').replace('Live:','[COLOR white][B]Live:[/COLOR][/B]').replace('TEST','[COLOR white][B]TEST[/COLOR][/B]').replace('Install','[COLOR white][B]Install[/COLOR][/B]').replace('24/7','[COLOR white][B]24/7[/COLOR][/B]').replace('INT:','[COLOR white][B]INT:[/COLOR][/B]').replace('DE:','[COLOR white][B]DE:[/COLOR][/B]').replace('FR:','[COLOR white][B]FR:[/COLOR][/B]').replace('PL:','[COLOR white][B]PL:[/COLOR][/B]').replace('AR:','[COLOR white][B]AR:[/COLOR][/B]').replace('LIVE:','[COLOR white][B]LIVE:[/COLOR][/B]').replace('ES:','[COLOR white][B]ES:[/COLOR][/B]').replace('IN:','[COLOR white][B]IN:[/COLOR][/B]').replace('PK:','[COLOR white][B]PK:[/COLOR][/B]'),url1,999994,thumb,fanart,base64.b64decode(desc))
def tvarchive(name, description):
    days = 7

    now = str(datetime.datetime.now()).replace('-', '').replace(':',
                                                                '').replace(
                                                                    ' ', '')
    date3 = datetime.datetime.now() - datetime.timedelta(days)
    date = str(date3)
    date = str(date).replace('-', '').replace(':', '').replace(' ', '')
    APIv2 = base64.b64decode(
        "JXM6JXMvcGxheWVyX2FwaS5waHA/dXNlcm5hbWU9JXMmcGFzc3dvcmQ9JXMmYWN0aW9uPWdldF9zaW1wbGVfZGF0YV90YWJsZSZzdHJlYW1faWQ9JXM="
    ) % (user.host, user.port, username, password, description)
    link = tools.OPEN_URL(APIv2)
    match = re.compile(
        '"title":"(.+?)".+?"start":"(.+?)","end":"(.+?)","description":"(.+?)"'
    ).findall(link)
    for ShowTitle, start, end, DesC in match:
        ShowTitle = base64.b64decode(ShowTitle)
        DesC = base64.b64decode(DesC)
        format = '%Y-%m-%d %H:%M:%S'
        try:
            modend = dtdeep.strptime(end, format)
            modstart = dtdeep.strptime(start, format)
        except:
            modend = datetime.datetime(*(time.strptime(end, format)[0:6]))
            modstart = datetime.datetime(*(time.strptime(start, format)[0:6]))
        StreamDuration = modend - modstart
        modend_ts = time.mktime(modend.timetuple())
        modstart_ts = time.mktime(modstart.timetuple())
        FinalDuration = int(modend_ts - modstart_ts) / 60
        strstart = start
        Realstart = str(strstart).replace('-',
                                          '').replace(':',
                                                      '').replace(' ', '')
        start2 = start[:-3]
        editstart = start2
        start2 = str(start2).replace(' ', ' - ')
        start = str(editstart).replace(' ', ':')
        Editstart = start[:13] + '-' + start[13:]
        Finalstart = Editstart.replace('-:', '-')
        if Realstart > date:
            if Realstart < now:
                catchupURL = base64.b64decode(
                    "JXM6JXMvc3RyZWFtaW5nL3RpbWVzaGlmdC5waHA/dXNlcm5hbWU9JXMmcGFzc3dvcmQ9JXMmc3RyZWFtPSVzJnN0YXJ0PQ=="
                ) % (user.host, user.port, username, password, description)
                ResultURL = catchupURL + str(
                    Finalstart) + "&duration=%s" % (FinalDuration)
                kanalinimi = "[COLOR white]%s[/COLOR] - %s" % (start2,
                                                               ShowTitle)
                tools.addDir(kanalinimi, ResultURL, 999994, icon, fanart, DesC)
def search():
	text = searchdialog()
	if not text:
		xbmc.executebuiltin("XBMC.Notification([COLOR white][B]Search is Empty[/B][/COLOR][/B],Aborting search,4000,"+icon+")")
		return
	xbmc.log(str(text))
	open = tools.OPEN_URL(panel_api)
	all_chans = tools.regex_get_all(open,'{"num":','epg')
	for a in all_chans:
		name = tools.regex_from_to(a,'name":"','"').replace('\/','/')
		url  = tools.regex_from_to(a,'"stream_id":"','"')
		thumb= tools.regex_from_to(a,'stream_icon":"','"').replace('\/','/')
		if text in name.lower():
			tools.addDir(name,play_url+url+'.ts',999994,thumb,fanart,'')
		elif text not in name.lower() and text in name:
			tools.addDir(name,play_url+url+'.ts',999994,thumb,fanart,'')
def extras():
	tools.addDir('APK Installer','tv',9999919,icon,fanart,"Install Various Android Applications.[CR][CR]For Android Devices Only.")
	tools.addDir('Football Guide','tv',9999914,icon,fanart,"Find out who's playing football, then be taken straight to the stream!")
	tools.addDir('Edit Advanced Settings','url',9999918,icon,fanart,"This setting enables you to edit the Advanced Settings in Kodi[CR][CR]In most cases allowing a smoother stream.")
	tools.addDir('Integrate With PVR TV Guide','tv',9999917,icon,fanart,"Integrate Stefano Premium Live Streams and EPG with Kodi's inbuilt TV Guide.[CR][CR]Allowing A Full, Sleek Looking TV Guide!")
	if xbmcaddon.Addon('plugin.video.Stefano').getSetting('vodsource')=='true':
		VOD = '[B][COLOR lime]ON[/COLOR][/B]'
	else:
		VOD = '[B][COLOR red]OFF[/COLOR][/B]'
def livecategory(url):
	
	open = tools.OPEN_URL(live_url)
	all_cats = tools.regex_get_all(open,'<channel>','</channel>')
	for a in all_cats:
		name = tools.regex_from_to(a,'<title>','</title>')
		name = base64.b64decode(name)
		url1  = tools.regex_from_to(a,'<playlist_url>','</playlist_url>').replace('<![CDATA[','').replace(']]>','')
		if not 'Install Videos' in name:
			if not 'TEST CHANNELS' in name:
				if not 'TEST' in name:
					if url == 'LIVE':
						if 'Live:' in name:	
							tools.addDir(name.replace('UK:','[COLOR white][B]UK:[/COLOR][/B]').replace('USA/CA:','[COLOR white][B]USA/CA:[/COLOR][/B]').replace('All','[COLOR white][B]All[/COLOR][/B]').replace('International Sport','[COLOR white][B]INT: [/COLOR][/B]International Sport').replace('Live:','[COLOR white][B]Live:[/COLOR][/B]').replace('TEST','[COLOR white][B]TEST[/COLOR][/B]').replace('Install','[COLOR white][B]Install[/COLOR][/B]').replace('24/7','[COLOR white][B]24/7: [/COLOR][/B]Channels').replace('DE:','[COLOR white][B]DE:[/COLOR][/B]').replace('FR:','[COLOR white][B]FR:[/COLOR][/B]').replace('PL:','[COLOR white][B]PL:[/COLOR][/B]').replace('AR:','[COLOR white][B]AR:[/COLOR][/B]').replace('LIVE:','[COLOR white][B]LIVE:[/COLOR][/B]').replace('ES:','[COLOR white][B]ES:[/COLOR][/B]').replace('IN:','[COLOR white][B]IN:[/COLOR][/B]').replace('PK:','[COLOR white][B]PK:[/COLOR][/B]').replace('NBC Extra Time','[COLOR white][B]NBC:[/COLOR][/B] NBC Extra Time'),url1,999992,icon,fanart,'')
					else:
						if not 'Live:' in name:	
							tools.addDir(name.replace('UK:','[COLOR white][B]UK:[/COLOR][/B]').replace('USA/CA:','[COLOR white][B]USA/CA:[/COLOR][/B]').replace('All','[COLOR white][B]All[/COLOR][/B]').replace('International Sport','[COLOR white][B]INT: [/COLOR][/B]International Sport').replace('Live:','[COLOR white][B]Live:[/COLOR][/B]').replace('TEST','[COLOR white][B]TEST[/COLOR][/B]').replace('Install','[COLOR white][B]Install[/COLOR][/B]').replace('24/7','[COLOR white][B]24/7: [/COLOR][/B]Channels').replace('DE:','[COLOR white][B]DE:[/COLOR][/B]').replace('FR:','[COLOR white][B]FR:[/COLOR][/B]').replace('PL:','[COLOR white][B]PL:[/COLOR][/B]').replace('AR:','[COLOR white][B]AR:[/COLOR][/B]').replace('LIVE:','[COLOR white][B]LIVE:[/COLOR][/B]').replace('ES:','[COLOR white][B]ES:[/COLOR][/B]').replace('IN:','[COLOR white][B]IN:[/COLOR][/B]').replace('PK:','[COLOR white][B]PK:[/COLOR][/B]').replace('NBC Extra Time','[COLOR white][B]NBC:[/COLOR][/B] NBC Extra Time'),url1,999992,icon,fanart,'')
def vod(url):
	if url =="vod":
		open = tools.OPEN_URL(vod_url)
	else:
		url  = buildcleanurl(url)
		open = tools.OPEN_URL(url)
	all_cats = tools.regex_get_all(open,'<channel>','</channel>')
	for a in all_cats:
		if '<playlist_url>' in open:
			name = tools.regex_from_to(a,'<title>','</title>')
			url1  = tools.regex_from_to(a,'<playlist_url>','</playlist_url>').replace('<![CDATA[','').replace(']]>','')
			tools.addDir(str(base64.b64decode(name)).replace('?',''),url1,999993,icon,fanart,'')
		else:
			if xbmcaddon.Addon().getSetting('meta') == 'true':
				try:
					name = tools.regex_from_to(a,'<title>','</title>')
					name = base64.b64decode(name)
					thumb= tools.regex_from_to(a,'<desc_image>','</desc_image>').replace('<![CDATA[','').replace(']]>','')
					url  = tools.regex_from_to(a,'<stream_url>','</stream_url>').replace('<![CDATA[','').replace(']]>','')
					desc = tools.regex_from_to(a,'<description>','</description>')
					desc = base64.b64decode(desc)
					plot = tools.regex_from_to(desc,'PLOT:','\n')
					cast = tools.regex_from_to(desc,'CAST:','\n')
					ratin= tools.regex_from_to(desc,'RATING:','\n')
					year = tools.regex_from_to(desc,'RELEASEDATE:','\n').replace(' ','-')
					year = re.compile('-.*?-.*?-(.*?)-',re.DOTALL).findall(year)
					runt = tools.regex_from_to(desc,'DURATION_SECS:','\n')
					genre= tools.regex_from_to(desc,'GENRE:','\n')
					tools.addDirMeta(str(name).replace('[/COLOR][/B].','.[/COLOR][/B]'),url,999994,thumb,fanart,plot,str(year).replace("['","").replace("']",""),str(cast).split(),ratin,runt,genre)
				except:pass
				xbmcplugin.setContent(int(sys.argv[1]), 'movies')
			else:
				name = tools.regex_from_to(a,'<title>','</title>')
				name = base64.b64decode(name)
				thumb= tools.regex_from_to(a,'<desc_image>','</desc_image>').replace('<![CDATA[','').replace(']]>','')
				url  = tools.regex_from_to(a,'<stream_url>','</stream_url>').replace('<![CDATA[','').replace(']]>','')
				desc = tools.regex_from_to(a,'<description>','</description>')
				tools.addDir(name,url,999994,thumb,fanart,base64.b64decode(desc))
def settingsmenu():
    if xbmcaddon.Addon().getSetting('meta') == 'true':
        META = '[COLOR lime]ON[/COLOR][/B]'
    else:
        META = '[COLOR red]OFF[/COLOR][/B]'
    if xbmcaddon.Addon().getSetting('update') == 'true':
        UPDATE = '[COLOR lime]ON[/COLOR][/B]'
    else:
        UPDATE = '[COLOR red]OFF[/COLOR][/B]'
    tools.addDir('Edit Advanced Settings', 'ADS', 10, icon, fanart, '')
    tools.addDir('META for VOD is %s' % META, 'META', 10, icon, fanart, META)
    tools.addDir('Log Out', 'LO', 10, icon, fanart, '')
def accountinfo():
    try:
        open = tools.OPEN_URL(panel_api)
        username = tools.regex_from_to(open, '"username":"******"')
        password = tools.regex_from_to(open, '"password":"******"')
        status = tools.regex_from_to(open, '"status":"', '"')
        connects = tools.regex_from_to(open, '"max_connections":"', '"')
        active = tools.regex_from_to(open, '"active_cons":"', '"')
        expiry = tools.regex_from_to(open, '"exp_date":"', '"')
        expiry = datetime.datetime.fromtimestamp(
            int(expiry)).strftime('%d/%m/%Y - %H:%M')
        expreg = re.compile('^(.*?)/(.*?)/(.*?)$', re.DOTALL).findall(expiry)
        for day, month, year in expreg:
            month = tools.MonthNumToName(month)
            year = re.sub(' -.*?$', '', year)
            expiry = month + ' ' + day + ' - ' + year
            ip = tools.getlocalip()
            extip = tools.getexternalip()
            tools.addDir('[B]U[COLOR white]sername: %s[/COLOR][/B]' % username,
                         '', '', icon, fanart, '')
            tools.addDir('[B]P[COLOR white]assword: %s[/COLOR][/B]' % password,
                         '', '', icon, fanart, '')
            tools.addDir(
                '[B]E[COLOR white]xpiry Date: %s[/COLOR][/B]' % expiry, '', '',
                icon, fanart, '')
            tools.addDir(
                '[B]A[COLOR white]ccount Status: %s[/COLOR][/B]' % status, '',
                '', icon, fanart, '')
            tools.addDir(
                '[B]C[COLOR white]urrent Connections: %s[/COLOR][/B]' % active,
                '', '', icon, fanart, '')
            tools.addDir(
                '[B]A[COLOR white]llowed Connections: %s[/COLOR][/B]' %
                connects, '', '', icon, fanart, '')
            tools.addDir(
                '[B]L[COLOR white]ocal IP Address: %s[/COLOR] [/B]' % ip, '',
                '', icon, fanart, '')
            tools.addDir(
                '[B]E[COLOR white]xternal IP Address: %s[/COLOR][/B] ' % extip,
                '', '', icon, fanart, '')
            tools.addDir(
                '[B]K[COLOR white]odi Version: %s[/COLOR][/B] ' % str(KODIV),
                '', '', icon, fanart, '')
    except:
        pass
def start(type):
    username = xbmcaddon.Addon('plugin.video.streamhub').getSetting('Username')
    password = xbmcaddon.Addon('plugin.video.streamhub').getSetting('Password')
    auth = '%s:%s/panel_api.php?username=%s&password=%s' % (
        user.host, user.port, username, password)
    auth = tools.OPEN_URL(auth)
    if "username" in auth:
        exp = tools.regex_from_to(auth, '"status":"', '"')
        if exp == 'Expired':
            xbmcgui.Dialog().ok(
                user.name, 'Your Account Has Expired! %s' % username,
                'You Can Renew At: http://facebook.com/groups/streamh')
            sys.exit()
        if type == "NEW":
            xbmcgui.Dialog().ok(
                user.name, 'Welcome To %s, %s' % (user.name, username),
                'Thankyou For Donating And I Hope You Enjoy Your Subscription',
                'Please Continue With The Setup Guide')
            tvguidesetup()
            addonsettings('ADS2', '')
            xbmc.executebuiltin('Container.Refresh')
        tools.addDir(
            '[COLOR ffff0000][B]M[/COLOR][COLOR white]y Premium Information[/COLOR][/B]',
            'url', 999996, 'https://s18.postimg.org/rhnmrvxp5/myinfo.png',
            fanart,
            "Access Your Account Information, Inlcuding Username, Password and More"
        )
        tools.addDir(
            '[COLOR ffff0000][B]L[/COLOR][COLOR white]ive Tv[/COLOR][/B]',
            'url', 999991, 'https://s18.postimg.org/ggshmv5g9/livetv.png',
            fanart,
            "Get Access to All of Your Favourite Channels, In Stunning HD")
        tools.addDir(
            '[COLOR ffff0000][B]L[/COLOR][COLOR white]ive Events[/COLOR][/B]',
            'LIVE', 999991, 'https://s18.postimg.org/ggshmv5g9/livetv.png',
            fanart,
            "Containing Live Events, Including: NBA, NFL, NHL, MLB, English Premier League and PPV!"
        )
        tools.addDir(
            '[COLOR ffff0000][B]C[/COLOR][COLOR white]atchup Tv[/COLOR][/B]',
            'url', 9999912, 'https://s18.postimg.org/wp8pwceah/CATCHUP.png',
            fanart,
            "Get Access To Full 7 Days Catchup Tv On A Whole Bunch Of Channels!"
        )
        if xbmc.getCondVisibility('System.HasAddon(pvr.iptvsimple)'):
            tools.addDir(
                '[COLOR ffff0000][B]T[/COLOR][COLOR white]V Guide[/COLOR][/B]',
                'pvr', 999997, 'https://s18.postimg.org/479gw7l95/TVGUIDE.png',
                fanart, "Open Kodi's Inbuilt Tv Guide")
        tools.addDir(
            '[COLOR ffff0000][B]O[/COLOR][COLOR white]n Demand[/COLOR][/B]',
            'vod', 999993, 'https://s18.postimg.org/82cuys4ex/VOD.png', fanart,
            '')
        tools.addDir(
            '[COLOR ffff0000][B]S[/COLOR][COLOR white]earch[/COLOR][/B]',
            'url', 999995, 'https://s2.postimg.org/oeceg5ort/search.png',
            fanart, "Search Through StreamHub's Premium Content")
        tools.addDir(
            '[COLOR ffff0000][B]E[/COLOR][COLOR white]xtras[/COLOR][/B]',
            'url', 9999916, 'https://s18.postimg.org/i7biocmzd/extras.png',
            fanart,
            "Some Extra Features, Inlcuding Football Guides. Setting Tweaks and More"
        )
    else:
        d = xbmcgui.Dialog().yesno(
            user.name,
            'Your Login Details Are Incorrect, Would You Like To Re-Enter?')
        if not d:
            sys.exit()
        else:
            xbmcaddon.Addon('plugin.video.streamhub').openSettings()
            if type == "NEW":
                type = 'NEW'
            else:
                type = 'NONE'
            start(type)
def home():
    tools.addDir(
        '[COLOR ffff0000][B]M[/COLOR][COLOR white]y Premium Information[/COLOR][/B]',
        'url', 999996, 'https://s18.postimg.org/rhnmrvxp5/myinfo.png', fanart,
        '')
    tools.addDir('[COLOR ffff0000][B]L[/COLOR][COLOR white]ive Tv[/COLOR][/B]',
                 'live', 999991,
                 'https://s18.postimg.org/ggshmv5g9/livetv.png', fanart, '')
    tools.addDir(
        '[COLOR ffff0000][B]L[/COLOR][COLOR white]ive Events[/COLOR][/B]',
        'live', 999991, 'https://s18.postimg.org/ggshmv5g9/livetv.png', fanart,
        '')
    tools.addDir(
        '[COLOR ffff0000][B]C[/COLOR][COLOR white]atchup Tv[/COLOR][/B]',
        'url', 9999912, 'https://s18.postimg.org/wp8pwceah/CATCHUP.png',
        fanart, '')
    if xbmc.getCondVisibility('System.HasAddon(pvr.iptvsimple)'):
        tools.addDir(
            '[COLOR ffff0000][B]T[/COLOR][COLOR white]V Guide[/COLOR][/B]',
            'pvr', 999997, 'https://s18.postimg.org/479gw7l95/TVGUIDE.png',
            fanart, '')
    tools.addDir(
        '[COLOR ffff0000][B]O[/COLOR][COLOR white]n Demand[/COLOR][/B]', 'vod',
        999993, 'https://s18.postimg.org/82cuys4ex/VOD.png', fanart, '')
    tools.addDir('[COLOR ffff0000][B]S[/COLOR][COLOR white]earch[/COLOR][/B]',
                 'url', 999995, 'https://s2.postimg.org/oeceg5ort/search.png',
                 fanart, '')
    tools.addDir('[COLOR ffff0000][B]E[/COLOR][COLOR white]xtras[/COLOR][/B]',
                 'url', 9999916,
                 'https://s18.postimg.org/i7biocmzd/extras.png', fanart, '')
def apkdownloads():
	open = requests.get('http://stefanoaddon.info/addon/apks.txt').text
	all  = re.compile('<item>.+?title>(.+?)<.+?link>(.+?)<.+?thumbnail>(.+?)<',re.DOTALL|re.MULTILINE).findall(open)
	for name,url,icon in all:
		tools.addDir(name,url,9999910,icon,fanart,name)