def LISTTV(murl): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '') match = re.compile( """<a href="([^<]+)" rel="bookmark" title=".+?">(.+?)</a></h2><div class="cat meta">.+?<img.+?src=([^<]+jpg|gif|jpeg|png)""", re.DOTALL).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, name, thumb in match: name = main.CleanTitle(name) thumb = thumb.replace('"', '').replace(",", '') main.addPlayTE(name, url, 390, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile( '<a class="nextpostslink" [^>]*?href="([^"]+)"').findall(link) if len(paginate) > 0: main.addDir('Next', paginate[0], 391, art + '/next2.png')
def LISTEpiSG(murl): link = main.OPENURL(murl) match = re.compile( '<a href="([^"]+?)"><div class=".+?"><img class="lazy" data-original="(.+?)" width=".+?" height=".+?" alt=".+?" title = ".+?" /><div class=".+?"><a href=".+?">(.+?)</a> - (.+?)</span><div class=".+?"></div><span style=".+?">(.+?)</span>' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, showname, seep, epiname in match: main.addPlayTE( showname.strip() + ' ' + seep.strip() + " " + '[COLOR blue]' + epiname + '[/COLOR]', 'http://seriesgate.me' + url + 'searchresult/', 609, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("SeriesGate", "Latest-list")
def LISTTV(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','') match=re.compile("""<a href="([^<]+)" rel="bookmark" title=".+?">(.+?)</a></h2><div class="cat meta">.+?<img.+?src=([^<]+jpg|gif|jpeg|png)""",re.DOTALL).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,name,thumb in match: name=main.CleanTitle(name) thumb=thumb.replace('"','').replace(",",'') main.addPlayTE(name,url,390,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile('<a class="nextpostslink" [^>]*?href="([^"]+)"').findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],391,art+'/next2.png')
def LISTSeasonSG(mname,murl,thumb): link=main.OPENURL(murl).replace('April,','') match=re.compile('(?i)<li><a href="([^"]+?)">([^<]+?)</a>').findall(link) for url, seaname in match: seaname = seaname.replace('»','').strip() main.addPlayTE(mname+' '+seaname,'http://seriesgate.tv'+url,609,str(thumb),'','','','','') main.GA("SeriesGate","Sea-list")
def CHANNELCList(murl): link = main.OPENURL(murl) match = re.compile('<li>(.+?): <a href="(.+?)">(.+?)</a> </li>').findall( link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for date, url, name in match: main.addPlayTE(name + ' [COLOR red]' + date + '[/COLOR]', url, 547, '', '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("TV", "CC/Tv4")
def LISTEpilistSG(mname, murl): link = main.OPENURL(murl) match = re.compile( '<div class=".+?" style=".+?" >(.+?)- <span><a href = ".+?">.+?</a></span></div><div class=".+?" >(.+?)</div><div class = ".+?"></div><div style=".+?"><a href="(.+?)"><img src="(.+?)" width=".+?" height=".+?" alt=".+?" title = "(.+?)" ></a>' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for seep, airdate, url, thumb, epiname in match: durl = url + 'searchresult/' mname = mname.split('Season')[0] main.addPlayTE( mname.strip() + " " + seep.strip() + " " + '[COLOR blue]' + epiname + '[/COLOR]', durl, 609, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("SeriesGate", "Epi-list") if selfAddon.getSetting('auto-view') == 'true': xbmc.executebuiltin("Container.SetViewMode(%s)" % selfAddon.getSetting('episodes-view'))
def LISTSeasonSG(mname, murl, thumb): link = main.OPENURL(murl).replace('April,', '') match = re.compile('(?i)<li><a href="([^"]+?)">([^<]+?)</a>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, seaname in match: seaname = seaname.replace('»', '').strip() main.addPlayTE(mname + ' ' + seaname, 'http://seriesgate.tv' + url + 'more_sources/', 609, str(thumb), '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("SeriesGate", "Sea-list")
def LISTSCEPER2(name, murl): link = main.OPENURL(murl, timeout=10) link = link.replace('\xc2\xa0', '').replace('\n', '') match = re.compile( '<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class=".+?<img.+?src="([^"]+?)"' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, name, thumb in match: name = main.CleanTitle(name) main.addPlayTE(name, url, 544, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile( '<a class="nextpostslink" rel="next" href="([^"]+)">').findall(link) if len(paginate) > 0: main.addDir('Next', paginate[0], 545, art + '/next2.png')
def LIST(mname, murl, thumb): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('»', '') match = re.compile('(?sim)<a href="([^"]+)">([^<]+)</a><br').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for url, name in match: main.addPlayTE(name.replace(':', ''), 'http://www.shush.se/' + url, 453, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def LISTTV2(murl): xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,7000)") if murl=='movintv': main.addDir('Search Movie1k','www.movie1k.org',132,art+'/search.png') urllist=main.OPENURL('http://www.movie1k.net/category/tv-show/')+main.OPENURL('http://www.movie1k.net/category/tv-show/page/2/')+main.OPENURL('http://www.movie1k.net/category/tv-show/page/3/')+main.OPENURL('http://www.movie1k.net/category/tv-show/page/4/')+main.OPENURL('http://www.movie1k.net/category/tv-show/page/5/') elif murl=='movin': urllist=main.OPENURL('http://www.movie1k.net/category/hindi-movies/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/2/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/3/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/4/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/5/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/6/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/7/') elif murl=='movindub': urllist=main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/2/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/3/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/4/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/5/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/6/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/7/') murl=murl if urllist: match=re.compile('href="(.+?)"><img width=".+?" height=".+?" style=".+?" data-cfsrc="(.+?)" class=".+?" alt=".+?" title="(.+?)"/>').findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name in match: name=name.replace('\xc2\xa0','').replace('" ','').replace(' "','').replace('"','').replace("'","'").replace("&","and").replace("’","'").replace("amp;","and").replace("#8211;","-") if murl=='movintv': main.addPlayTE(name,url,31,thumb,'','','','','') else: main.addPlayM(name,url,31,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies/Episodes :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("TV-INT","Movie1k")
def SEARCHSCEPER(murl = ''): encode = main.updateSearchFile(murl,'Movies',searchMsg='Search For Movies or TV Shows') if not encode: return False surl='http://sceper.ws/search/'+encode+'/' link=main.OPENURL(surl,cookie="sceper") i=0 link=link.replace('\xc2\xa0','').replace('\n','') match=re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url,name in match: name=main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s',name,re.I): main.addPlayTE(name,url,544,'','','','','','') else: main.addPlayM(name,url,544,'','','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCHSCENE(encode): if encode=='sec': encode = main.updateSearchFile('','Movies',searchMsg='Search For Movies or TV Shows') if not encode: return False surl='http://www.scenesource.me/?s='+encode+'&x=0&y=0' link=main.OPENURL(surl,mobile=True) i=0 link=link.replace('\xc2\xa0','').replace('\n','') match=re.compile('<a href="([^<]+)" rel="bookmark" title=".+?>([^<]+)</a></h2>').findall(link) for url,name in match: name=main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s',name,re.I): main.addPlayTE(name,url,390,'','','','','','') else: main.addPlayM(name,url,390,'','','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCHSCEPER(murl=""): main.GA("Sceper", "Search") encode = main.updateSearchFile(murl, "Movies", searchMsg="Search For Movies or TV Shows") if not encode: return False surl = "http://sceper.ws/search/" + encode + "/" link = main.OPENURL(surl, cookie="sceper") i = 0 link = link.replace("\xc2\xa0", "").replace("\n", "") match = re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url, name in match: name = main.CleanTitle(name) if re.findall("(.+?)\ss(\d+)e(\d+)\s", name, re.I): main.addPlayTE(name, url, 544, "", "", "", "", "", "") else: main.addPlayM(name, url, 544, "", "", "", "", "", "") xbmcplugin.setContent(int(sys.argv[1]), "Movies")
def SEARCHSCEPER(murl): main.GA("Sceper", "Search") seapath = os.path.join(main.datapath, 'Search') SeaFile = os.path.join(seapath, 'SearchHistory25') try: os.makedirs(seapath) except: pass if murl == 'extra': keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode = urllib.quote(search) surl = 'http://sceper.ws/home/search/' + encode + '/' if not os.path.exists(SeaFile) and encode != '': open(SeaFile, 'w').write('search="%s",' % encode) else: if encode != '': open(SeaFile, 'a').write('search="%s",' % encode) searchis = re.compile('search="(.+?)",').findall( open(SeaFile, 'r').read()) for seahis in reversed(searchis): continue if len(searchis) >= 10: searchis.remove(searchis[0]) os.remove(SeaFile) for seahis in searchis: try: open(SeaFile, 'a').write('search="%s",' % seahis) except: pass else: encode = murl surl = 'http://sceper.ws/home/search/' + encode + '/' link = main.OPENURL(surl) i = 0 link = link.replace('\xc2\xa0', '').replace('\n', '') match = re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url, name in match: if re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I): main.addPlayTE(name, url, 544, '', '', '', '', '', '') else: main.addPlayM(name, url, 544, '', '', '', '', '', '') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCHSCEPER(murl=''): main.GA("Sceper", "Search") encode = main.updateSearchFile(murl, 'Movies', searchMsg='Search For Movies or TV Shows') if not encode: return False surl = 'http://sceper.ws/search/' + encode + '/' link = main.OPENURL(surl, cookie="sceper") i = 0 link = link.replace('\xc2\xa0', '').replace('\n', '') match = re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url, name in match: name = main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I): main.addPlayTE(name, url, 544, '', '', '', '', '', '') else: main.addPlayM(name, url, 544, '', '', '', '', '', '') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCHSCEPER(murl): main.GA("Sceper", "Search") seapath = os.path.join(main.datapath, "Search") SeaFile = os.path.join(seapath, "SearchHistory25") try: os.makedirs(seapath) except: pass if murl == "extra": keyb = xbmc.Keyboard("", "Search Movies") keyb.doModal() if keyb.isConfirmed(): search = keyb.getText() encode = urllib.quote(search) surl = "http://sceper.ws/home/search/" + encode + "/" if not os.path.exists(SeaFile) and encode != "": open(SeaFile, "w").write('search="%s",' % encode) else: if encode != "": open(SeaFile, "a").write('search="%s",' % encode) searchis = re.compile('search="(.+?)",').findall(open(SeaFile, "r").read()) for seahis in reversed(searchis): continue if len(searchis) >= 10: searchis.remove(searchis[0]) os.remove(SeaFile) for seahis in searchis: try: open(SeaFile, "a").write('search="%s",' % seahis) except: pass else: encode = murl surl = "http://sceper.ws/home/search/" + encode + "/" link = main.OPENURL(surl) i = 0 link = link.replace("\xc2\xa0", "").replace("\n", "") match = re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url, name in match: if re.findall("(.+?)\ss(\d+)e(\d+)\s", name, re.I): main.addPlayTE(name, url, 544, "", "", "", "", "", "") else: main.addPlayM(name, url, 544, "", "", "", "", "", "") xbmcplugin.setContent(int(sys.argv[1]), "Movies")
def LISTTV3(murl): xbmc.executebuiltin( "XBMC.Notification(Please Wait!,Collecting Source Data,4000)") urllist = main.OPENURL( 'http://oneclickwatch.org/category/tv-shows/') + main.OPENURL( 'http://oneclickwatch.org/category/tv-shows/page/2/' ) + main.OPENURL( 'http://oneclickwatch.org/category/tv-shows/page/3/' ) + main.OPENURL( 'http://oneclickwatch.org/category/tv-shows/page/4/' ) + main.OPENURL('http://oneclickwatch.org/category/tv-shows/page/5/') if urllist: urllist = main.unescapes(urllist) match = re.compile( 'title=".+?">([^<]+)</a></h2>.+?href=".+?<a href="(.+?)" .+?href=".+?>.+?src="(.+?)"' ).findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for name, url, thumb in match: name = name.replace('\xc2\xa0', '').replace('" ', '').replace( ' "', '').replace('"', '').replace("'", "'").replace( "&", "and").replace("’", "'").replace("amp;", "and").replace("#8211;", "-") main.addPlayTE(name, url, 134, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("TV", "Oneclickwatch")
def SEARCHSCEPER(murl): main.GA("Sceper","Search") seapath=os.path.join(main.datapath,'Search') SeaFile=os.path.join(seapath,'SearchHistory25') try: os.makedirs(seapath) except: pass if murl == 'extra': keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://sceper.ws/home/search/'+encode+'/' if not os.path.exists(SeaFile) and encode != '': open(SeaFile,'w').write('search="%s",'%encode) else: if encode != '': open(SeaFile,'a').write('search="%s",'%encode) searchis=re.compile('search="(.+?)",').findall(open(SeaFile,'r').read()) for seahis in reversed(searchis): continue if len(searchis)>=10: searchis.remove(searchis[0]) os.remove(SeaFile) for seahis in searchis: try: open(SeaFile,'a').write('search="%s",'%seahis) except: pass else: encode = murl surl='http://sceper.ws/home/search/'+encode+'/' link=main.OPENURL(surl) i=0 link=link.replace('\xc2\xa0','').replace('\n','') match=re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url,name in match: if re.findall('(.+?)\ss(\d+)e(\d+)\s',name,re.I): main.addPlayTE(name,url,544,'','','','','','') else: main.addPlayM(name,url,544,'','','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def CHANNELCList(murl): link=main.OPENURL(murl) match=re.compile('<li>(.+?): <a href="(.+?)">(.+?)</a> </li>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for date,url,name in match: main.addPlayTE(name+' [COLOR red]'+date+'[/COLOR]',url,547,'','','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def SEARCHSCENE(encode): main.GA(prettyName, "Search") if encode == 'sec': encode = main.updateSearchFile( '', 'Movies', searchMsg='Search For Movies or TV Shows') if not encode: return False surl = 'http://www.scenesource.me/?s=' + encode + '&x=0&y=0' link = main.OPENURL(surl, mobile=True) i = 0 link = link.replace('\xc2\xa0', '').replace('\n', '') match = re.compile( '<a href="([^<]+)" rel="bookmark" title=".+?>([^<]+)</a></h2>' ).findall(link) for url, name in match: name = main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I): main.addPlayTE(name, url, 390, '', '', '', '', '', '') else: main.addPlayM(name, url, 390, '', '', '', '', '', '') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def LISTEpiSG(murl): link=main.OPENURL(murl) match=re.compile('<a href="([^"]+?)"><div class=".+?"><img class="lazy" data-original="(.+?)" width=".+?" height=".+?" alt=".+?" title = ".+?" /><div class=".+?"><a href=".+?">(.+?)</a> - (.+?)</span><div class=".+?"></div><span style=".+?">(.+?)</span>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,showname,seep,epiname in match: main.addPlayTE(showname.strip()+' '+seep.strip()+" "+'[COLOR blue]'+epiname+'[/COLOR]','http://seriesgate.me'+url+'searchresult/',609,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def LISTSeasonSG(mname,murl,thumb): link=main.OPENURL(murl).replace('April,','') match=re.compile('(?i)<li><a href="([^"]+?)">([^<]+?)</a>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url, seaname in match: seaname = seaname.replace('»','').strip() main.addPlayTE(mname+' '+seaname,'http://seriesgate.tv'+url+'more_sources/',609,str(thumb),'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def LIST(mname,murl,thumb): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('»','') match=re.compile('(?sim)<a href="([^"]+)">([^<]+)</a><br').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for url,name in match: main.addPlayTE(name.replace(':',''),'http://www.shush.se/'+url,453,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def LISTSCEPER2(name,murl): link=main.OPENURL(murl, timeout = 10) link=link.replace('\xc2\xa0','').replace('\n','') match=re.compile('<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class=".+?<img.+?src="([^"]+?)"').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,name,thumb in match: name=main.CleanTitle(name) main.addPlayTE(name,url,544,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile('<a class="nextpostslink" rel="next" href="([^"]+)">').findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],545,art+'/next2.png')
def LISTTV3(murl): #urllist=main.OPENURL('http://oneclickwatch.org/category/tv-shows/')+main.OPENURL('http://oneclickwatch.org/category/tv-shows/page/2/')+main.OPENURL('http://oneclickwatch.org/category/tv-shows/page/3/')+main.OPENURL('http://oneclickwatch.org/category/tv-shows/page/4/')+main.OPENURL('http://oneclickwatch.org/category/tv-shows/page/5/') urllist=main.batchOPENURL(('http://oneclickwatch.org/category/tv-shows/','http://oneclickwatch.org/category/tv-shows/page/2/','http://oneclickwatch.org/category/tv-shows/page/3/','http://oneclickwatch.org/category/tv-shows/page/4/','http://oneclickwatch.org/category/tv-shows/page/5/')) if urllist: urllist=main.unescapes(urllist) match=re.compile('title=".+?">([^<]+)</a></h2>.+?href=".+?<a href="(.+?)" .+?href=".+?>.+?src="(.+?)"').findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for name,url,thumb in match: name=name.replace('\xc2\xa0','').replace('" ','').replace(' "','').replace('"','').replace("'","'").replace("&","and").replace("’","'").replace("amp;","and").replace("#8211;","-") main.addPlayTE(name,url,134,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def LISTSCEPER2(name, murl): link = main.OPENURL(murl) link = link.replace("\xc2\xa0", "").replace("\n", "") match = re.compile('<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class=".+?<img.+?src="(.+?)"').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until Show list is cached.") totalLinks = len(match) loadedLinks = 0 remaining_display = "Episodes loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display) for url, name, thumb in match: main.addPlayTE(name, url, 544, thumb, "", "", "", "", "") loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Episodes loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display) if dialogWait.iscanceled(): return False dialogWait.close() del dialogWait paginate = re.compile("<a href='([^<]+)' class='nextpostslink'>").findall(link) if len(paginate) > 0: main.addDir("Next", paginate[0], 545, art + "/next2.png")
def LISTEpilistSG(mname,murl): link=main.OPENURL(murl) match=re.compile('<div class=".+?" style=".+?" >(.+?)- <span><a href = ".+?">.+?</a></span></div><div class=".+?" >(.+?)</div><div class = ".+?"></div><div style=".+?"><a href="(.+?)"><img src="(.+?)" width=".+?" height=".+?" alt=".+?" title = "(.+?)" ></a>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for seep, airdate, url, thumb, epiname in match: durl = url+'searchresult/' mname=mname.split('Season')[0] main.addPlayTE(mname.strip()+" "+seep.strip()+" "+'[COLOR blue]'+epiname+'[/COLOR]',durl,609,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("SeriesGate","Epi-list") if selfAddon.getSetting('auto-view') == 'true': xbmc.executebuiltin("Container.SetViewMode(%s)" % selfAddon.getSetting('episodes-view'))
def LISTTV2(murl): #xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,7000)") if murl == 'movintv': main.addDir('Search Movie1k', 'www.movie1k.org', 132, art + '/search.png') #urllist=main.OPENURL('http://www.movie1k.ws/category/tv-show/')+main.OPENURL('http://www.movie1k.ws/category/tv-show/page/2/')+main.OPENURL('http://www.movie1k.ws/category/tv-show/page/3/')+main.OPENURL('http://www.movie1k.ws/category/tv-show/page/4/')+main.OPENURL('http://www.movie1k.ws/category/tv-show/page/5/') urllist = main.batchOPENURL( ('http://www.movie1k.ws/category/tv-show/', 'http://www.movie1k.ws/category/tv-show/page/2/', 'http://www.movie1k.ws/category/tv-show/page/3/', 'http://www.movie1k.ws/category/tv-show/page/4/', 'http://www.movie1k.ws/category/tv-show/page/5/')) elif murl == 'movin': #urllist=main.OPENURL('http://www.movie1k.ws/category/hindi-movies/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/2/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/3/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/4/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/5/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/6/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/7/') urllist = main.batchOPENURL( ('http://www.movie1k.ws/category/hindi-movies/', 'http://www.movie1k.ws/category/hindi-movies/page/2/', 'http://www.movie1k.ws/category/hindi-movies/page/3/', 'http://www.movie1k.ws/category/hindi-movies/page/4/', 'http://www.movie1k.ws/category/hindi-movies/page/5/', 'http://www.movie1k.ws/category/hindi-movies/page/6/', 'http://www.movie1k.ws/category/hindi-movies/page/7/')) elif murl == 'movindub': #urllist=main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/2/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/3/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/4/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/5/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/6/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/7/') urllist = main.batchOPENURL( ('http://www.movie1k.ws/category/hindi-dubbed-movies/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/2/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/3/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/4/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/5/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/6/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/7/')) murl = murl if urllist: urllist = urllist.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '') match = re.compile( '<a class="entry-thumbnails-link" href="(.+?)"><img width=".+?" height=".+?" src="(.+?)" class=".+?" alt="Watch (.+?) Online:.+?', re.DOTALL).findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, name in match: name = name.replace('\xc2\xa0', '').replace('" ', '').replace( ' "', '').replace('"', '').replace("'", "'").replace( "&", "and").replace("’", "'").replace("amp;", "and").replace("#8211;", "-") if murl == 'movintv': main.addPlayTE(name, url, 31, thumb, '', '', '', '', '') else: main.addPlayM(name, url, 31, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies/Episodes :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("TV-INT", "Movie1k")
def LISTTV2(murl): xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,7000)") if murl == "movintv": main.addDir("Search Movie1k", "www.movie1k.org", 132, art + "/search.png") urllist = ( main.OPENURL("http://www.movie1k.org/category/tv-show/") + main.OPENURL("http://www.movie1k.org/category/tv-show/page/2/") + main.OPENURL("http://www.movie1k.org/category/tv-show/page/3/") + main.OPENURL("http://www.movie1k.org/category/tv-show/page/4/") + main.OPENURL("http://www.movie1k.org/category/tv-show/page/5/") ) elif murl == "movin": urllist = ( main.OPENURL("http://www.movie1k.org/category/hindi-movies/") + main.OPENURL("http://www.movie1k.org/category/hindi-movies/page/2/") + main.OPENURL("http://www.movie1k.org/category/hindi-movies/page/3/") + main.OPENURL("http://www.movie1k.org/category/hindi-movies/page/4/") + main.OPENURL("http://www.movie1k.org/category/hindi-movies/page/5/") + main.OPENURL("http://www.movie1k.org/category/hindi-movies/page/6/") + main.OPENURL("http://www.movie1k.org/category/hindi-movies/page/7/") ) elif murl == "movindub": urllist = ( main.OPENURL("http://www.movie1k.org/category/hindi-dubbed-movies/") + main.OPENURL("http://www.movie1k.org/category/hindi-dubbed-movies/page/2/") + main.OPENURL("http://www.movie1k.org/category/hindi-dubbed-movies/page/3/") + main.OPENURL("http://www.movie1k.org/category/hindi-dubbed-movies/page/4/") + main.OPENURL("http://www.movie1k.org/category/hindi-dubbed-movies/page/5/") + main.OPENURL("http://www.movie1k.org/category/hindi-dubbed-movies/page/6/") + main.OPENURL("http://www.movie1k.org/category/hindi-dubbed-movies/page/7/") ) murl = murl if urllist: match = re.compile( 'href="(.+?)"><img width=".+?" height=".+?" src="(.+?)" class=".+?" alt="Watch.+?" title="(.+?)" />' ).findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until Show list is cached.") totalLinks = len(match) loadedLinks = 0 remaining_display = "Movies/Episodes loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display) for url, thumb, name in match: name = ( name.replace("\xc2\xa0", "") .replace('" ', "") .replace(' "', "") .replace('"', "") .replace("'", "'") .replace("&", "and") .replace("’", "'") .replace("amp;", "and") .replace("#8211;", "-") ) if murl == "movintv": main.addPlayTE(name, url, 31, thumb, "", "", "", "", "") else: main.addPlayM(name, url, 31, thumb, "", "", "", "", "") loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Movies/Episodes :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display) if dialogWait.iscanceled(): return False dialogWait.close() del dialogWait main.GA("TV-INT", "Movie1k")
def getFavorites(section_title = None): from resources.universal import favorites fav = favorites.Favorites(addon_id, sys.argv) if(section_title): fav_items = fav.get_my_favorites(section_title=section_title, item_mode='addon') else: fav_items = fav.get_my_favorites(item_mode='addon') if len(fav_items) > 0: for fav_item in fav_items: if (fav_item['isfolder'] == 'false'): if (fav_item['section_addon_title'] == "iWatchOnline Fav's" or fav_item['section_addon_title'] == "Movie Fav's"): main.addPlayM(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "TV Show Fav's"): main.addPlayT(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "TV Episode Fav's"): main.addPlayTE(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Misc. Fav's"): main.addPlayMs(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Live Fav's"): main.addPlayL(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Movie25 Fav's"): main.addInfo(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) else: if (fav_item['section_addon_title'] == "iWatchOnline Fav's" or fav_item['section_addon_title'] == "Movie Fav's"): main.addDirM(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "TV Show Fav's"): main.addDirT(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "TV Episode Fav's"): main.addDirTE(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Misc. Fav's"): main.addDirMs(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Live Fav's"): main.addDirL(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Movie25 Fav's"): main.addInfo(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) else: xbmc.executebuiltin("XBMC.Notification([B][COLOR=FF67cc33]Aftershock Up[/COLOR][/B],[B]You Have No Saved Favourites[/B],5000,"")") return