def LISTDOCPOP(murl): if murl=='search': keyb = xbmc.Keyboard('', 'Search Documentaries') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://documentaryheaven.com/find/?q='+encode link=main.OPENURL(surl) match=re.compile('<a href="(.+?)" title="" rel=".+?"><img class=".+?" src="(.+?)" alt="(.+?)".+?</a>\n </div> \n <div id="postDis">\n \t(.+?)[...]').findall(link) if (len(match)==0): match=re.compile('href="(.+?)" title="" rel=".+?"><img class=".+?" src="(.+?)" alt="(.+?)".+?</a>\n </div> \n <div id="postDis">\n \t(.+?)[...]').findall(link) for url,thumb,name,desc in match: main.addPlayMs(name,url,88,thumb,desc,'','','','') paginate=re.compile("<span class=\'page current\'>1</span></li><li><a href=\'http://documentaryheaven.com/page/2/.?s=.+?\'").findall(link) if (len(paginate)>0): main.addDir('[COLOR blue]Page 2[/COLOR]','http://documentaryheaven.com/page/2/?s='+encode,9,"%s/art/next2.png"%selfAddon.getAddonInfo("path")) elif murl=='rec': rurl='http://topdocumentaryfilms.com/' link=main.OPENURL(rurl) match=re.compile('href="([^<]+)">([^<]+)</a></li><li><a').findall(link) for url,name in match: main.addPlayMs(name,url,88,'','','','','','') else: link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<a href=\'(.+?)/\'><img src=\'(.+?)\'/></a></div><div class=".+?"><div class=".+?"><a href=\'.+?/\'>(.+?)</a></div><div class=".+?"><p>(.+?)</div>').findall(link) for url,thumb,name,desc in match: main.addPlayMs(name,url,88,thumb,desc,'','','','')
def LISTTV4(murl): main.addDir('Search Rlsmix','rlsmix',136,"%s/art/search.png"%selfAddon.getAddonInfo("path")) main.addLink('[COLOR red]First turbobit Link could be HD[/COLOR]','',"%s/art/tvb.png"%selfAddon.getAddonInfo("path")) urllist=['http://www.rlsmix.net/category/tv-shows/','http://www.rlsmix.net/category/tv-shows/page/2/','http://www.rlsmix.net/category/tv-shows/page/3/','http://www.rlsmix.net/category/tv-shows/page/4/','http://www.rlsmix.net/category/tv-shows/page/5/','http://www.rlsmix.net/category/tv-shows/page/6/','http://www.rlsmix.net/category/tv-shows/page/7/','http://www.rlsmix.net/category/tv-shows/page/8/','http://www.rlsmix.net/category/tv-shows/page/9/','http://www.rlsmix.net/category/tv-shows/page/10/'] dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = 10 loadedLinks = 0 remaining_display = 'Pages loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for murl in urllist: link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<h1 class="titles"><a href="(.+?)" title="Permanent Link to (.+?)">.+?src="http://uppix.net/(.+?)"').findall(link) for url,name,thumb in match: match2=re.compile('TV Round Up').findall(name) name=name.replace('\xc2\xa0','').replace('" ','').replace(' "','').replace('"','').replace("'","'").replace("&","and").replace("’","'").replace("amp;","and").replace("#8211;","-") if len(match2)==0: main.addDir(name,url,62,'http://uppix.net/'+thumb) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Pages 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","Rlsmix")
def UFCMOVIE25(): surl='http://www.movie25.com/search.php?key=ufc&submit=' link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<div class="movie_pic"><a href="(.+?)" target=".+?"> <img src="(.+?)" width=".+?" height=".+?" /> </a></div> <div class=".+?"> <div class=".+?"> <h1><a href=".+?" target=".+?"> (.+?) </a></h1> <div class=".+?">Genre: <a href=".+?" target=\'.+?\'>(.+?)</a>.+?Release:.+?Views: <span> (.+?) </span>.+?<span id=RateCount.+?> (.+?) </span> votes.+?<div id=".+?">score:<span id=Rate_.+?>(.+?)</span>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name,genre,views,votes,rating in match: name=name.replace('-','').replace('&','').replace('acute;','') furl= 'http://movie25.com/'+url main.addInfo(name+'('+year+')[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'[/COLOR]',furl,3,thumb,genre,'') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies 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.addDir('[COLOR blue]Page 2[/COLOR]','http://www.movie25.com/search.php?page=2&key=ufc',9,art+'/next2.png') main.GA("UFC","UFC_Movie25-List")
def LISTSeasonSG(mname,murl,thumb): link=main.OPENURL(murl) match=re.compile('<div class="season_page">\n\t\t\t\t\t\t<a href="(.+?)" >(.+?)</a>').findall(link) for url, seaname in match: main.addDir(mname+' '+seaname,url,605,str(thumb)) main.GA("SeriesGate","Sea-list")
def MAIN(murl): if 'TV' in murl: main.addDir('Movies','MOVIES',451,art+'/shush.png') link=main.OPENURL('http://www.shush.se/index.php?shows') link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('»','') match=re.compile('(?sim)class="shows"><a href="([^"]+)"><img src="([^"]+)" alt="Watch (.+?) online').findall(link) for url,thumb,name in match: main.addDirT(name.title(),'http://www.shush.se/'+url,452,thumb,'','','','','') else: main.addDir('TV','TV',451,art+'/shush.png') link=main.OPENURL('http://www.shush.se/index.php?movies') link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('»','') match=re.compile('(?sim)class="shows"><a href="([^"]+)"><img src="([^"]+)" alt="([^"]+)" title=').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies 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,thumb,name in match: main.addPlayM(name.title(),'http://www.shush.se/'+url,453,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies 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 SEARCH(url = ''): encode = main.updateSearchFile(url,'TV') if not encode: return False surl='http://www.couchtuner.la/?s=' + encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<h2><a href="([^"]*?)" rel="bookmark" title="Watch.+?Online">([^"]*?)</a></h2>').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 in match: main.addDirTE(name,url,9,'','','','','','') 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 nextpage=re.compile('<div class="prev-page"><strong>Previous <a href="([^"]*)">[^"]*</a></strong>').findall(link) if nextpage: xurl=base_url+nextpage[0] main.addDir('Next Page',xurl,120,'')
def YEARB(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<div class="movie_pic"><a href="(.+?)" target=".+?"> <img src="(.+?)" width=".+?" height=".+?" /> </a></div> <div class=".+?"> <div class=".+?"> <h1><a href=".+?" target=".+?"> (.+?) </a></h1> <div class=".+?">Genre: <a href=".+?" target=\'.+?\'>(.+?)</a>.+?Release:.+?Views: <span> (.+?) </span>.+?<span id=RateCount.+?> (.+?) </span> votes.+?<div id=".+?">score:<span id=Rate_.+?>(.+?)</span>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name,genre,views,votes,rating in match: name=name.replace('-','').replace('&','').replace('acute;','') furl= 'http://movie25.com/'+url main.addInfo(name+'[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'[/COLOR]',furl,3,thumb,genre,'') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies 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 ye = murl[39:44] r = re.findall("Next</a><a href='search.php.?page=.+?year=.+?'>Last</a>",link) if r: main.addDir('[COLOR red]Enter Page #[/COLOR]',murl,208,art+'/gotopage.png') main.addDir('[COLOR blue]Page 2[/COLOR]','http://www.movie25.com/search.php?page=2&year='+str(ye),9,art+'/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def LISTPopBTV(murl): if murl=='todays': url='http://www.btvguide.com/shows' link=main.OPENURL(url) match=re.compile('<a href="(.+?)" class=".+?" style=".+?">\r\n\t\t\t\t\t\t\t\t\t<span class=".+?">(.+?)</span>\r\n\t\t\t\t\t\t\t\t\t<span class=".+?">(.+?)\r\n\t\t\t\t\t\t\t\t\t(.+?)</span>').findall(link) for url, name, seep, epiname in match: main.addDir(name+' '+seep+' [COLOR red]"'+epiname+'"[/COLOR]',url,559,'')
def LISTSeasonBTV(mname,murl): murl=murl+'/watch-online' link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','') match=re.compile('<a rel="nofollow" href="([^<]+)"><strong>([^<]+)</strong>([^<]+)</a>').findall(link) for url,seaname, epilen in match: main.addDir(seaname+epilen,url,554,'')
def LISTFMA(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<img class=\'.+?\' src=\'(.+?)\' alt=\'.+?\' />.+?<a class=\'.+?\' href=\'/(.+?)\'>(.+?)</a>.+?<a href=\'/movies/year/.+?\'>(.+?)</a>.+?<a href=\'/movies/genre/.+?\'>(.+?)</a>.+?</span><span class=".+?">(.+?)</span>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name, year, gen, desc in match: main.addPlayM(name,'http://www.freemoviesaddict.com/'+url,569,thumb,desc,'','',gen,year) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies 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('<span class="pagination_next"><a class="pagination_link" href="(.+?)">').findall(link) if len(paginate)>0: main.addDir('Next','http://www.freemoviesaddict.com/'+paginate[0],568,art+'/next2.png') main.GA("FMA","list") xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def MAINFMA(): main.GA("Plugin","FMA") main.addDir('Search','http://www.fma.com',646,art+'/wfs/search.png') main.addDir('All Movies','movies',570,art+'/wfs/az.png') main.addDir('Latest','http://www.freemoviesaddict.com/',568,art+'/wfs/latest2.png') main.addDir('Genre','genre',571,art+'/wfs/genre.png') main.addDir('Year','year',571,art+'/wfs/year.png')
def LISTVIKIT(murl): html = main.OPENURL(murl) link=main.unescapes(html).decode('ascii', 'ignore') match = re.findall('(?sim)class="thumbnail pull-left"><img alt=".+?src="([^"]+)".+?<a href="([^"]+)">([^<]+)</a>.+?<p>(.+?)...',link.replace(' ','')) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Shows loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name,desc in match: fan=re.findall('(.+?jpg)',thumb) if fan: fanart=fan[0] else: fanart='' main.addDirT(name,MainUrl+url,481,thumb,desc,fanart,'','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies 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("(?sim)<a class='page-link' rel='next' href='([^']+)'>Next →</a>").findall(link) if len(paginate)>0: main.addDir('[COLOR blue]Next Page >>>[/COLOR]',MainUrl+paginate[0],480,art+'/next2.png') main.GA("Viki","List")
def LISTCONTENT(murl,thumb): setCookie(murl) response = net().http_GET(murl) link = response.content link = cleanHex(link) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace(' ','') if 'http://hostaccess.org/7-SFE-SZE-HOSTACCESS/media/vod.php' == murl: response = net().http_GET('http://sportsaccess.se/forum/misc.php?page=Replays') link = response.content link = cleanHex(link) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace(' ','') match=re.compile('<a href="([^"]+)"><img src="([^"]+)" width=".+?alt="([^"]+)"></a>').findall(link) for url,thumb,name in match: if 'http' not in thumb: thumb='http://sportsaccess.se/forum/'+thumb main.addDir(name,url,411,thumb) else: match=re.compile('<a href="(.+?)">(.+?)</a>').findall(link) for url,name in match: if 'GO BACK' not in name and '1 Year Subscriptions' not in name and 'Live Broadcasts' not in name and '<--- Return To On Demand Guide' not in name: name = re.sub('(?sim)<[^>]*?>','',name) if 'http' not in url: url='http://sportsaccess.se'+url main.addPlayL(name,url,413,thumb,'','','','','')
def LIST3arabtv(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('»','').replace('→','') match=re.compile("""><img src="([^<]+)".+?<a href="([^<]+)">([^<]+)</a></span>""",re.DOTALL).findall(link) for thumb,url,name in match: thumb=thumb.split('"')[0] if 'http' not in thumb: thumb=MAINURL+thumb thumb=thumb.replace(' ','') if 'Episodes' in name or 'Shows' in name: name2=re.compile('href="'+url+'">'+name+'</a></span>.+?><a href=".+?">([^<]+)</a>',re.DOTALL).findall(link) if name2: name2=name2[0] else: name2='' main.addDir('[COLOR red]'+name+'[/COLOR] '+name2,MAINURL+url,356,thumb) else: if 'Clips' in name or 'Movies' in name: name2=re.compile('href="'+url+'">'+name+'</a></span>.+?><a href=".+?">([^<]+)</a>',re.DOTALL).findall(link) if name2: name2=name2[0] else: name2='' main.addPlayc('[COLOR red]'+name+'[/COLOR] '+name2,MAINURL+url,355,thumb,'','','','','') else: main.addPlayc(name,MAINURL+url,355,thumb,'','','','','') paginate = re.compile('''<a class="page" href="([^<]+)">Next''').findall(link) if len(paginate)>0: main.addDir('Next',MAINURL+paginate[0],353,art+'/next2.png') main.GA("3Arabtv","List")
def LISTINT2(name,url): MainUrl = "http://www.dramacrazy.net" urllist=['http://www.dramacrazy.net/most-recent/','http://www.dramacrazy.net/most-recent/offset/15','http://www.dramacrazy.net/most-recent/offset/30','http://www.dramacrazy.net/most-recent/offset/45','http://www.dramacrazy.net/most-recent/offset/60' ,'http://www.dramacrazy.net/most-recent/offset/75','http://www.dramacrazy.net/most-recent/offset/90','http://www.dramacrazy.net/most-recent/offset/105','http://www.dramacrazy.net/most-recent/offset/120','http://www.dramacrazy.net/most-recent/offset/135' ,'http://www.dramacrazy.net/most-recent/offset/150','http://www.dramacrazy.net/most-recent/offset/165','http://www.dramacrazy.net/most-recent/offset/180','http://www.dramacrazy.net/most-recent/offset/195','http://www.dramacrazy.net/most-recent/offset/210'] dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(urllist) loadedLinks = 0 remaining_display = 'Pages loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Loading....[/B]',remaining_display) for murl in urllist: link=main.OPENURL(murl) match=re.compile('href="(.+?)"><img src="(.+?)" width=".+?" alt=".+?" /></a>\r\n\t\t</div>\r\n\t\t<div class=".+?">\r\n\t\t<div class=".+?">\r\n\t\t\t<h1><a href=".+?">(.+?)</a></h1>').findall(link) for url,thumb,name in match: match=re.compile('Movie').findall(name) if (len(match)>0): name = name.replace('xoxix','') main.addDir(name,MainUrl+url,40,thumb) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Pages loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Loading....[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("INT","Dramacrazy")
def LIST(murl): main.addLink('[COLOR red]Not the best source, but some links work in HSBS[/COLOR]','mess',art+'/link.png') main.addLink('[COLOR red]Try to avoid the same Hosts that are in groups of 4, possible rar files[/COLOR]','mess',art+'/link.png') link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') link=main.unescapes(link) match=re.compile('''entry-title'><a href='(.+?)'>.+?<img alt="(.+?)" src="(.+?)"''').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies 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=name.replace('Download ','').replace('" height="400','') main.addPlayM(name,url,225,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies 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='blog-pager-older-link' href='(.+?)' id='.+?' title='.+?'>Next.+?</a>""").findall(link) if (len(paginate)>0): for purl in paginate: main.addDir('[COLOR blue]Next[/COLOR]',purl,224,art+'/next2.png')
def MAIN3arabtv(): main.addDir('Search (بحث)','aflam',354,art+'/search.png') main.addDir('Movies','movies',352,art+'/3arabtv.png') main.addDir('Series','series',352,art+'/3arabtv.png') main.addDir('Shows','shows',352,art+'/3arabtv.png') main.addDir('Clips','clips',352,art+'/3arabtv.png') main.GA("Plugin","3Arabtv")
def VIPList(mname,murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') r=re.findall('<poster>(.+?)</poster>',link) if r: vip=r[0] else: vip='Unknown' f=re.findall('<fanart>(.+?)</fanart>',link) if f: fan=f[0] else: fan=art+'/fanart2.jpg' info=re.findall('<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>',link) if info: for msg,pic in info: main.addLink(msg,'',pic) popup=re.compile('<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>').findall(link) for name,image,thumb in popup: main.addPlayc(name,image,244,thumb,'','','','','') directory=re.compile('<dir><name>([^<]+)</name.+?link>([^<]+)</link.+?thumbnail>([^<]+)</thumbnail></dir>').findall(link) for name,url,thumb in directory: main.addDir(name,url,182,thumb) match=re.compile('<title>([^<]+)</title.+?link>(.+?)</link.+?thumbnail>([^<]+)</thumbnail>').findall(link) for name,url,thumb in sorted(match): main.addPlayL(name+' [COLOR blue]'+vip+'[/COLOR]',url,183,thumb,'',fan,'','','',secName=vip,secIcon=art+'/'+vip.lower()+'.png') main.GA(vip+"-Playlists",mname)
def LISTEXgenre(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\xc2\xa0','') match=re.compile('<a itemprop="url" href="(.+?)" rel=".+?" title="Permanent Link to (.+?)"><img itemprop="thumbnailUrl" alt=".+?" class="smallposter" src="(.+?)"></a>.+?<span itemprop="description">(.+?)</span>').findall(link) if len(match)==0: match = re.compile('<h1 class="post-title"><a href="([^<]+)" rel=".+?" title=".+?">([^<]+)</a></h1><img style=.+? src="(.+?)">(.+?)<div').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url, name, thumb,desc in match: main.addPlayM(name,url,536,thumb,desc,'','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies 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'>»</a>").findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],531,art+'/next2.png') main.GA("Extramina","Recent")
def LISTTV2(murl): if murl=='movintv': main.addDir('Search Movie1k','www.movie1k.org',132,"%s/art/search.png"%selfAddon.getAddonInfo("path")) urllist=['http://www.movie1k.org/category/tv-show/','http://www.movie1k.org/category/tv-show/page/2/','http://www.movie1k.org/category/tv-show/page/3/','http://www.movie1k.org/category/tv-show/page/4/','http://www.movie1k.org/category/tv-show/page/5/'] elif murl=='movin': urllist=['http://www.movie1k.org/category/hindi-movies/','http://www.movie1k.org/category/hindi-movies/page/2/','http://www.movie1k.org/category/hindi-movies/page/3/','http://www.movie1k.org/category/hindi-movies/page/4/','http://www.movie1k.org/category/hindi-movies/page/5/','http://www.movie1k.org/category/hindi-movies/page/6/','http://www.movie1k.org/category/hindi-movies/page/7/'] elif murl=='movindub': urllist=['http://www.movie1k.org/category/hindi-dubbed-movies/','http://www.movie1k.org/category/hindi-dubbed-movies/page/2/','http://www.movie1k.org/category/hindi-dubbed-movies/page/3/','http://www.movie1k.org/category/hindi-dubbed-movies/page/4/','http://www.movie1k.org/category/hindi-dubbed-movies/page/5/','http://www.movie1k.org/category/hindi-dubbed-movies/page/6/','http://www.movie1k.org/category/hindi-dubbed-movies/page/7/'] murl=murl dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(urllist) loadedLinks = 0 remaining_display = 'Pages loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for murl in urllist: link=main.OPENURL(murl) match=re.compile('href="(.+?)"><img width=".+?" height=".+?" src="(.+?)" class=".+?" alt="Watch.+?" title="(.+?)" />').findall(link) for url,thumb,name in match: name=name.replace('\xc2\xa0','').replace('" ','').replace(' "','').replace('"','').replace("'","'").replace("&","and").replace("’","'").replace("amp;","and").replace("#8211;","-") main.addPlay(name,url,31,thumb) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Pages 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-INT","Movie1k")
def LISTWATCHSEASON(mname, murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','') thumb=art+'/folder.png' match=re.compile('<a class="null" href="(.+?)">(.+?)</a>').findall(link) for url, name in reversed(match): main.addDir(mname+' [COLOR red]'+name+'[/COLOR]',murl,579,thumb)
def LIST(murl): link = main.OPENURL(murl) link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "") match = re.compile( '(?sim)<img src="([^"]+?)" alt="([^"]+?)" /></div>.+?<a href="([^"]+?)"><span>views</span>(.+?)</a>' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until Movie list is cached.") totalLinks = len(match) loadedLinks = 0 remaining_display = "Movies 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 thumb, name, url, views in match: main.addPlayM(name + " [COLOR red](" + views + ")[/COLOR]", url, 436, thumb, "", "", "", "", "") loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile("Total Pages: (.+?)</li>", re.DOTALL).findall(link) if paginate: paginate = paginate[0] main.addDir("[COLOR red]Enter Page #[/COLOR]", murl, 437, art + "/gotopage.png") page = re.compile("/page/(\d+)/", re.DOTALL).findall(murl)[0] nextpage = int(page) + 1 finalpage = re.sub("page/\d+?/", "page/" + str(nextpage) + "/", murl) main.addDir("Page " + str(page) + " [COLOR blue]Next Page >>>[/COLOR]", finalpage, 435, art + "/next2.png") main.GA(prettyName, "List") main.VIEWS()
def LISTSEASON(mname, murl, index=False): link = main.OPENURL(murl) link = link.replace("\r", "").replace("\n", "").replace("\t", "") thumb = art + "/folder.png" match = re.compile('class="mnlcategorylist"><a href="([^"]+?)"><b>([^<]+?)</b></a>([^<]+?)</td>').findall(link) for url, name, count in reversed(match): main.addDir(mname + " [COLOR red]" + name + "[/COLOR] " + count, murl + url, 466, thumb, index=index)
def LISTMov(murl): link = main.OPENURL(murl) link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "").replace("»", "") match = re.compile( """<td width=".+?" valign=".+?" style=".+?<a href="([^<]+)"><img src="(.+?)".+?title="(.+?)" alt=".+?".+?</ul>(.+?)</div>""", re.DOTALL, ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until Movie list is cached.") totalLinks = len(match) loadedLinks = 0 remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display) for url, thumb, name, desc in match: name = main.unescapes(name) main.addPlayM(name, url, 338, thumb, desc, "", "", "", "") loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Movies 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="xo-pagarrow" href="([^<]+)"><u></u>""").findall(link) if len(paginate) > 0: main.addDir("Next", MAINURL + paginate[0], 341, art + "/next2.png") main.GA("Aflam1", "List")
def SearchSceneLog(searchQuery,searchCategory): if searchCategory.startswith('TV'): cat = 5 else: searchCategory = "Movies" cat = 4 try: params = searchCategory.split('#@#', 2 ); searchCategory = params[0] page = int(params[1]) searchQuery = params[2] except: page = 1 searchQuery = main.updateSearchFile(searchQuery,searchCategory,'Search') if not searchQuery: return False searchUrl='http://scnlog.eu/page/'+str(page)+'/?s='+searchQuery+'&cat='+str(cat) html = main.OPENURL(searchUrl) if html: hasNextPage = re.compile('<strong>»</strong>').findall(html) ShowSceneLogItems(html,searchCategory,'all') if hasNextPage: main.addDir('Page ' + str(page) + ', Next Page >>>',searchCategory + "#@#" + str(page+1) + '#@#' + searchQuery,660,art+'/next2.png') else: xbmcplugin.endOfDirectory(int(sys.argv[1]), False, False) xbmc.executebuiltin("XBMC.Notification(Sorry,Could not connect to SceneLog,3000)") main.GA("SceneLog","Search")
def LISTINT(murl): html = main.OPENURL(murl) link=main.unescapes(html) match = re.compile('<a class="movie-cover-wrapper" href="(.+?)"><img src="(.+?)" alt="(.+?)"').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies 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: url=url.replace('../movies/','') thumb=thumb.replace('../movies/','') name = name.replace('movie online','').replace('tamil','').replace('hindi','').replace('telugu','').replace('malayalam','') main.addPlayM(name,MainMovie+url,38,MainMovie+thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies 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="numerical-nav-selected" href=".+?">.+?</a><a href="([^<]+)">.+?</a>').findall(link) if len(paginate)>0: if 'movies' in murl: main.addDir('[COLOR blue]Next Page >>>[/COLOR]',MainUrl+'/movies/index.php'+paginate[0],42,art+'/next2.png') else: main.addDir('[COLOR blue]Next Page >>>[/COLOR]',MainUrl+'/bluray/index.php'+paginate[0],42,art+'/next2.png') main.GA("einthusian","List")
def SERIESAFLAM(murl): link = main.OPENURL(murl) link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "").replace("»", "") match = re.compile("""<a title="([^<]+)" href="(.+?)">.+?class="hint">(.+?)</div>""", re.DOTALL).findall(link) for name, url, count in match: name = name + " " main.addDir("[COLOR red]" + count + "[/COLOR] " + name, url, 336, art + "/aflam1.png")
def DESISTREAMS(): #main.GA("Live","Desistreams") main.addDir('Sports','sports',130,art+'/desistream.png') main.addDir('English Channels','english',130,art+'/desistream.png') main.addDir('Indian Channels','indian',130,art+'/desistream.png') main.addDir('Pakistani Channels','pakistani',130,art+'/desistream.png') main.addDir('Bangladeshi Channels','bangladeshi',130,art+'/desistream.png')
def AZBLURAY(url): langID=re.findall('lang=(.+?)&',url)[0] main.addDir('0-9','http://www.einthusan.com/bluray/index.php?lang='+langID+'&organize=Alphabetical&filtered=Numerical&org_type=Alphabetical',42,art+'/09.png') for i in string.ascii_uppercase: main.addDir(i,'http://www.einthusan.com/bluray/index.php?lang='+langID+'&organize=Alphabetical&filtered='+i+'&org_type=Alphabetical',42,art+'/'+i.lower()+'.png') main.GA("einthusan","A-Z Bluray") main.VIEWSB()
def TSNDIR(): main.addDir('Featured','http://m.tsn.ca/home?p_p_id=feed_WAR_xlmagic_INSTANCE_C4iW&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getPage&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_pos=6&p_p_col_count=9&_feed_WAR_xlmagic_INSTANCE_C4iW_page=0&_feed_WAR_xlmagic_INSTANCE_C4iW_portrait=false',97,art+'/tsn.png') main.addDir('NHL','http://m.tsn.ca/nhl?p_p_id=feed_WAR_xlmagic_INSTANCE_75Sw&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getPage&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_pos=2&p_p_col_count=3&_feed_WAR_xlmagic_INSTANCE_75Sw_page=0&_feed_WAR_xlmagic_INSTANCE_75Sw_portrait=false',97,art+'/tsn.png') main.addDir('NFL','http://m.tsn.ca/nfl?p_p_id=feed_WAR_xlmagic_INSTANCE_u0tU&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getPage&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_pos=2&p_p_col_count=3&_feed_WAR_xlmagic_INSTANCE_u0tU_page=0&_feed_WAR_xlmagic_INSTANCE_u0tU_portrait=false',97,art+'/tsn.png') #main.addDir('NBA','nba',97,art+'/tsn.png') main.addDir('CFL','http://m.tsn.ca/cfl?p_p_id=feed_WAR_xlmagic_INSTANCE_8WBz&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getPage&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_pos=2&p_p_col_count=3&_feed_WAR_xlmagic_INSTANCE_8WBz_page=0&_feed_WAR_xlmagic_INSTANCE_8WBz_portrait=false',97,art+'/tsn.png') main.addDir('MLB','http://m.tsn.ca/mlb?p_p_id=feed_WAR_xlmagic_INSTANCE_5wRo&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=getPage&p_p_cacheability=cacheLevelPage&p_p_col_id=column-1&p_p_col_pos=2&p_p_col_count=3&_feed_WAR_xlmagic_INSTANCE_5wRo_page=0&_feed_WAR_xlmagic_INSTANCE_5wRo_portrait=false',97,art+'/tsn.png')
def AtoZBTV(): main.addDir('0-9','http://www.btvguide.com/shows/list-type/a_z',561,art+'/wfs/09.png') for i in string.ascii_uppercase: main.addDir(i,'http://www.btvguide.com/shows/sort/'+i.lower()+'/list-type/a_z',561,art+'/wfs/'+i+'.png') main.GA("BTV-Guide","A-Z") main.VIEWSB()
def SKYSPORTSCAT2(murl): if murl=='football': main.addDir('Football [COLOR red]All Videos[/COLOR]','http://www1.skysports.com/watch/more/5/12606/200/1',173,art+'/skysports.png') main.addDir('Premier League','premier-league',180,art+'/skysports.png') main.addDir('Championship','championship',180,art+'/skysports.png') main.addDir('League One','league-one',180,art+'/skysports.png') main.addDir('League Two','league-two',180,art+'/skysports.png') main.addDir('Scottish Football','scottish-football',180,art+'/skysports.png') main.addDir('Primera Liga','primera-liga',180,art+'/skysports.png') main.addDir('Champions League','http://www1.skysports.com/watch/video/sports/football/competitions/champions-league',176,art+'/skysports.png') main.addDir('Capital One Cup','http://www1.skysports.com/watch/video/sports/football/competitions/capital-one-cup',176,art+'/skysports.png') if murl=='formula-1': main.addDir('Formula 1 [COLOR red]All Videos[/COLOR]','http://www1.skysports.com/watch/more/5/12870/200/1',173,art+'/skysports.png') main.addDir('Grand Prix','grand-prix',180,art+'/skysports.png') main.addDir('Teams','f1Teams',180,art+'/skysports.png') if murl=='rugby-union': main.addDir('Rugby Union [COLOR red]All Videos[/COLOR]','http://www1.skysports.com/watch/more/5/12610/200/1',173,art+'/skysports.png') main.addDir('Aviva Premiership','http://www1.skysports.com/watch/video/sports/rugby-union/competitions/aviva-premiership',176,art+'/skysports.png') main.addDir('Super Rugby','http://www1.skysports.com/watch/video/sports/rugby-union/competitions/super-rugby',176,art+'/skysports.png') main.addDir('Heineken Cup','http://www1.skysports.com/watch/video/sports/rugby-union/competitions/heineken-cup',176,art+'/skysports.png')
def SKYSPORTSCAT(): main.addDir('Sports [COLOR red]All Videos[/COLOR]','http://www1.skysports.com/watch/more/5/28461/200/1',173,art+'/skysports.png') main.addDir('Football','football',179,art+'/skysports.png') main.addDir('Formula 1','formula-1',179,art+'/skysports.png') main.addDir('Cricket','http://www1.skysports.com//watch/video/sports/cricket',176,art+'/skysports.png') main.addDir('Rugby Union','rugby-union',179,art+'/skysports.png') main.addDir('Rugby League','http://www1.skysports.com//watch/video/sports/rugby-league',176,art+'/skysports.png') main.addDir('Golf','http://www1.skysports.com//watch/video/sports/golf',176,art+'/skysports.png') main.addDir('Tennis','http://www1.skysports.com//watch/video/sports/tennis',176,art+'/skysports.png') main.addDir('Boxing','http://www1.skysports.com//watch/video/sports/boxing',176,art+'/skysports.png') main.addDir('NFL','http://www1.skysports.com//watch/video/sports/nfl',176,art+'/skysports.png') main.addDir('Racing','http://www1.skysports.com//watch/video/sports/racing',176,art+'/skysports.png') main.addDir('Darts','http://www1.skysports.com//watch/video/sports/darts',176,art+'/skysports.png') main.addDir('Basketball','http://www1.skysports.com//watch/video/sports/basketball',176,art+'/skysports.png') main.addDir('Cycling','http://www1.skysports.com//watch/video/sports/cycling',176,art+'/skysports.png') main.addDir('Speedway','http://www1.skysports.com//watch/video/sports/speedway',176,art+'/skysports.png') main.addDir('Ice Hockey','http://www1.skysports.com//watch/video/sports/ice-hockey',176,art+'/skysports.png') main.addDir('UFC','http://www1.skysports.com//watch/video/sports/ufc',176,art+'/skysports.png') main.addDir('WWE','http://www1.skysports.com//watch/video/sports/wwe',176,art+'/skysports.png')
def SKYSPORTS(): main.addDir('All Videos','http://www1.skysports.com/watch/more/5/27452/200/1',173,art+'/skysports.png') main.addDir('Sports','http://www1.skysports.com/watch/tv-shows',178,art+'/skysports.png') main.addDir('TV Shows','http://www1.skysports.com/watch/tv-shows',175,art+'/skysports.png')
def AtoZWATCHS(): main.addDir('0-9','http://watchseries.lt/letters/09',576,art+'/wfs/09.png') for i in string.ascii_uppercase: main.addDir(i,'http://watchseries.lt/letters/'+i.lower()+'/list-type/a_z',576,art+'/wfs/'+i+'.png') main.GA("Watchseries","A-Z") main.VIEWSB()
def GENREWATCHS(): main.addDir('Action','http://watchseries.lt/genres/action',576,art+'/wfs/act.png') main.addDir('Adventure','http://watchseries.lt/genres/adventure',576,art+'/wfs/adv.png') main.addDir('Animation','http://watchseries.lt/genres/animation',576,art+'/wfs/ani.png') main.addDir('Comedy','http://watchseries.lt/genres/comedy',576,art+'/wfs/com.png') main.addDir('Crime','http://watchseries.lt/genres/crime',576,art+'/wfs/cri.png') main.addDir('Documentary','http://watchseries.lt/genres/documentary',576,art+'/wfs/doc.png') main.addDir('Drama','http://watchseries.lt/genres/drama',576,art+'/wfs/dra.png') main.addDir('Family','http://watchseries.lt/genres/family',576,art+'/wfs/fam.png') main.addDir('Fantasy','http://watchseries.lt/genres/fantasy',576,art+'/wfs/fan.png') main.addDir('History','http://watchseries.lt/genres/history',576,art+'/wfs/his.png') main.addDir('Horror','http://watchseries.lt/genres/horror',576,art+'/wfs/hor.png') main.addDir('Music','http://watchseries.lt/genres/music',576,art+'/wfs/mus.png') main.addDir('Mystery','http://watchseries.lt/genres/mystery',576,art+'/wfs/mys.png') main.addDir('Reality','http://watchseries.lt/genres/reality-tv',576,art+'/wfs/rea.png') main.addDir('Sci-Fi','http://watchseries.lt/genres/sci-fi',576,art+'/wfs/sci.png') main.addDir('Sport','http://watchseries.lt/genres/sport',576,art+'/wfs/spo.png') main.addDir('Talk Show','http://watchseries.lt/genres/talk-show',576,art+'/wfs/tals.png') main.addDir('Thriller','http://watchseries.lt/genres/thriller',576,art+'/wfs/thr.png') main.addDir('War','http://watchseries.lt/genres/war',576,art+'/wfs/war.png') main.GA("Watchseries","Genre") main.VIEWSB()
def MAINWATCHS(): main.addDir('Search','s',581,art+'/wfs/searchws.png') main.addDir('A-Z','s',577,art+'/wfs/azws.png') main.addDir('Yesterdays Episodes','http://watchseries.lt/tvschedule/-2',573,art+'/wfs/yesepi.png') main.addDir('Todays Episodes','http://watchseries.lt/tvschedule/-1',573,art+'/wfs/toepi2.png') main.addDir('Popular Shows','http://watchseries.lt/',580,art+'/wfs/popshowsws.png') main.addDir('This Weeks Popular Episodes','http://watchseries.lt/new',573,art+'/wfs/thisweek.png') main.addDir('Newest Episodes Added','http://watchseries.lt/latest',573,art+'/wfs/newadd.png') main.addDir('By Genre','genre',583,art+'/wfs/genrews.png') main.GA("Plugin","Watchseries") main.VIEWSB()
def CATEGORIES(): main.GA("WatchDocumentary", "Categories") main.addDir( '9/11 & London Bombing', 'http://watchdocumentary.org/browse-911-and-london-bombing-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Adventure', 'http://watchdocumentary.org/browse-adventure-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Arts & Artists', 'http://watchdocumentary.org/browse-arts-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Assassination', 'http://watchdocumentary.org/browse-assassination-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Biography', 'http://watchdocumentary.org/browse-biography-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Comedy', 'http://watchdocumentary.org/browse-comedy-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Conspiracy', 'http://watchdocumentary.org/browse-conspiracy-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Crime', 'http://watchdocumentary.org/browse-crime-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Drugs', 'http://watchdocumentary.org/browse-drugs-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Environment', 'http://watchdocumentary.org/browse-environment-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Globalization', 'http://watchdocumentary.org/browse-globalization-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Health', 'http://watchdocumentary.org/browse-health-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'History', 'http://watchdocumentary.org/browse-history-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Human Rights', 'http://watchdocumentary.org/browse-human-rights-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Massacre', 'http://watchdocumentary.org/browse-massacre-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Media', 'http://watchdocumentary.org/browse-media-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Military', 'http://watchdocumentary.org/browse-military-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Money & Business', 'http://watchdocumentary.org/browse-money-business-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Music', 'http://watchdocumentary.org/browse-music-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Mystery', 'http://watchdocumentary.org/browse-mystery-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Nature', 'http://watchdocumentary.org/browse-nature-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Philosophy', 'http://watchdocumentary.org/browse-philosophy-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Politics', 'http://watchdocumentary.org/browse-politics-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Psychology', 'http://watchdocumentary.org/browse-psychology-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Religious', 'http://watchdocumentary.org/browse-religious-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Science', 'http://watchdocumentary.org/browse-science-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Sexuality', 'http://watchdocumentary.org/browse-sexuality-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Society', 'http://watchdocumentary.org/browse-society-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Sports', 'http://watchdocumentary.org/browse-sports-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Technology', 'http://watchdocumentary.org/browse-technology-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'Travel', 'http://watchdocumentary.org/browse-travel-documentaries-1-date.html', 163, art + '/folder.png') main.addDir( 'War', 'http://watchdocumentary.org/browse-war-documentaries-1-date.html', 163, art + '/folder.png')
def iLive(): main.addDir('All', 'all', 120, art + '/ilive.png') main.addDir('All [English]', 'allenglish', 120, art + '/ilive.png') main.addDir('General', 'general', 120, art + '/ilive.png') main.addDir('Entertainment', 'entertainment', 120, art + '/ilive.png') main.addDir('Entertainment [English]', 'entertainmentenglish', 120, art + '/ilive.png') main.addDir('Sports', 'sports', 120, art + '/ilive.png') main.addDir('Sports [English]', 'sportsenglish', 120, art + '/ilive.png') main.addDir('News', 'news', 120, art + '/ilive.png') main.addDir('Music', 'music', 120, art + '/ilive.png') main.addDir('Animation', 'animation', 120, art + '/ilive.png') main.GA("Live", "iLive")
def MAINBTV(): main.addDir('Search','s',558,art+'/search.png') main.addDir('A-Z','s',560,art+'/wfs/az.png') main.addDir('Todays Episodes','todays',555,art+'/wfs/toepi.png') main.addDir('Popular Shows','http://www.btvguide.com/shows',562,art+'/wfs/popshow.png') main.addDir('New Shows','http://www.btvguide.com/shows/list-type/new_shows',564,art+'/wfs/newshow.png') main.addDir('New Episodes (Starting from yesterdays)','http://www.btvguide.com/shows/list-type/new_episodes',565,art+'/wfs/newepi.png') main.addDir('By Genre','genre',566,art+'/wfs/bygen.png') main.addDir('By Decade','decade',566,art+'/wfs/bydec.png') main.addDir('By Network','network',566,art+'/wfs/bynet.png') main.GA("Plugin","BTV-Guide") main.VIEWSB()
def MAINOTV(): main.addDir("A Dog's Life",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/g3Or2UhUY9_m/',361,art+'/myoutdoortv.png') main.addDir('Adirondack Trails','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/u4NgTD1BIE0x/',361,art+'/myoutdoortv.png') main.addDir('Alaskan Wilderness Family','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/VQLhXqAX3n1Z/',361,art+'/myoutdoortv.png') main.addDir('Arctic Cat Outdoors','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/c4kV9xKQW1sh/',361,art+'/myoutdoortv.png') main.addDir('Australian Fishing Championships','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/ycI5sgZ6vraB/',361,art+'/myoutdoortv.png') main.addDir("Babe Winkelman's Good Fishing",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/jXTpQeI9maTP/',361,art+'/myoutdoortv.png') main.addDir('Backwoods Life','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/pWbVbZjmjrtF/',361,art+'/myoutdoortv.png') main.addDir('Between the Banks','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/pssHGpIVQIQi/',361,art+'/myoutdoortv.png') main.addDir("Bob Redfern's Outdoor Magazine",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/r98R5jFbMLLf/',361,art+'/myoutdoortv.png') main.addDir("Cabela's Outfitter Journal",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/lA19UVpNoKoc/',361,art+'/myoutdoortv.png') main.addDir("Cabela's Memories in the Field",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/E4YINEMBEZQj/',361,art+'/myoutdoortv.png') main.addDir("Cabela's Ultimate Adventures",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/hSHZQg0y3uKU/',361,art+'/myoutdoortv.png') main.addDir('Ducks, Dogs, and Decoys','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/Cj6OKDHAxcY0/',361,art+'/myoutdoortv.png') main.addDir('Gator Trax Outdoors','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/kwQx53U1g0hn/',361,art+'/myoutdoortv.png') main.addDir('High Country TV','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/I47FGARbPisB/',361,art+'/myoutdoortv.png') main.addDir('Indiana Outdoor Adventures','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/dNQ5xo5icQRh/',361,art+'/myoutdoortv.png') main.addDir('Jeep Outdoors','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/zTwvm4Z7FVB3/',361,art+'/myoutdoortv.png') main.addDir("Jim Duckworth's Fishing Adventures",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/hjG3sk3KSMum/',361,art+'/myoutdoortv.png') main.addDir('Jimmy Houston Outdoors','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/Qd2SJ3VK9A4d/',361,art+'/myoutdoortv.png') main.addDir('Living on the Wildside','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/QZ29eDqzDFIj/',361,art+'/myoutdoortv.png') main.addDir('Living Outdoors','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/1mZrKxEl8mir/',361,art+'/myoutdoortv.png') main.addDir("Mike Avery's Outdoor Magazine",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/kK_0Xhn6jvLX/',361,art+'/myoutdoortv.png') main.addDir('National Wild Turkey Federation','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/EZ1uFBJ51WY2/',361,art+'/myoutdoortv.png') main.addDir('Remington Country TV','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/jTAbgblRwWHU/',361,art+'/myoutdoortv.png') main.addDir('Scott Martin Challenge','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/hnRmy8KPkZjL/',361,art+'/myoutdoortv.png') main.addDir('Shooting USA','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/zzBvTR8eH5a3/',361,art+'/myoutdoortv.png') main.addDir("Sportsman's Adventures",'http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/N_fzoOymr0Ud/',361,art+'/myoutdoortv.png') main.addDir('The Carolina Outdoorsman Show','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/sA2HrQEiQZZV/',361,art+'/myoutdoortv.png') main.addDir('Ultimate Catch','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/N58gKpiZKsOY/',361,art+'/myoutdoortv.png')
def MAIN(): main.GA("Documantary", "DocumentaryWire") main.addDir('Search', 's12dnm', 229, art + '/search.png') main.addDir('Categories', 'http://www.documentarywire.com', 230, art + '/docwire.png') main.addDir('Recently Added', 'http://www.documentarywire.com/browse?orderby=date', 227, art + '/docwire.png') main.addDir('Popular', 'http://www.documentarywire.com/browse?orderby=views', 227, art + '/docwire.png') main.addDir('Most Liked', 'http://www.documentarywire.com/browse?orderby=likes', 227, art + '/docwire.png') main.addDir('Controversial', 'http://www.documentarywire.com/browse?orderby=comments', 227, art + '/docwire.png')
def LISTDOC2(murl): match = re.compile('documentaryheaven').findall(murl) if (len(match) > 0): main.GA("DhHome", "Dh-List") link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( 'href="([^<]+)" rel="bookmark" title=".+?" rel=".+?"><img class=".+?" src="(.+?)" alt="([^<]+)"/></a></div><div class=".+?">(.+?)</div>' ).findall(link) if (len(match) == 0): match = re.compile( 'href="(.+?)" title="" rel=".+?"><img class=".+?" src="(.+?)" alt="(.+?)".+?</a>\n </div> \n <div id="postDis">\n \t(.+?)[...]' ).findall(link) for url, thumb, name, desc in match: main.addPlayMs(name, url, 88, thumb, desc, '', '', '', '') paginate = re.compile('<a href="([^<]+)" >Next →</a>').findall( link) if (len(paginate) > 0): main.addDir('[COLOR blue]Next Page[/COLOR]', paginate[0], 87, "%s/art/next2.png" % selfAddon.getAddonInfo("path")) match2 = re.compile('topdocumentaryfilms').findall(murl) if (len(match2) > 0): i = 0 main.GA("TDFHome", "TDF-List") link = main.OPENURL(murl) link = link.replace('\n', '') url = re.compile('href="([^<]+)">Watch now').findall(link) match = re.compile('href=".+?".+?src="(.+?)".+?alt="(.+?)"').findall( link) desc = re.compile('>([^<]+)</p><p><strong>').findall(link) for thumb, name in match: main.addPlayMs(name, url[i], 88, thumb, desc[i], '', '', '', '') i = i + 1 paginate = re.compile('</a>.+?href="([^<]+)">Next</a></div>').findall( link) if (len(paginate) > 0): for purl in paginate: main.addDir( '[COLOR blue]Next[/COLOR]', purl, 87, "%s/art/next2.png" % selfAddon.getAddonInfo("path")) match3 = re.compile('documentary-log').findall(murl) if (len(match3) > 0): main.GA("DLHome", "DL-List") link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( '<div class="clear">.+?<a href="(.+?)" title=".+?"> <img src="(.+?)" alt="(.+?)" class=".+?" /> </a> <p>(.+?)<a' ).findall(link) for url, thumb, name, desc in match: main.addPlayMs(name, url, 88, thumb, desc, '', '', '', '') paginate = re.compile( "<a href='([^<]+)' class='nextpostslink'>").findall(link) if (len(paginate) > 0): for purl in paginate: main.addDir( '[COLOR blue]Next[/COLOR]', purl, 87, "%s/art/next2.png" % selfAddon.getAddonInfo("path"))
def OC(): main.addDir('All Videos','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/swTdEQGW9CKd',51,art+'/OC.png') main.addDir('Hunting','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/swTdEQGW9CKd?byCategories=Outdoor%20Channel/Hunting',51,art+'/OC.png') main.addDir('Fishing','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/swTdEQGW9CKd?byCategories=Outdoor%20Channel/Fishing',51,art+'/OC.png') main.addDir('Shooting','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/swTdEQGW9CKd?byCategories=Outdoor%20Channel/Shooting',51,art+'/OC.png') main.addDir('Off Road','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/swTdEQGW9CKd?byCategories=Outdoor%20Channel/Off-Road',51,art+'/OC.png') main.addDir('Adventure','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/swTdEQGW9CKd?byCategories=Outdoor%20Channel/Adventure',51,art+'/OC.png') main.addDir('Conservation','http://feed.theplatform.com/f/MTQ3NTE2MjMwOA/swTdEQGW9CKd?byCategories=Outdoor%20Channel/Conservation',51,art+'/OC.png') main.GA("Sports","OutChannel")
def SECSCENE(murl): if murl == 'movies': main.GA(prettyName, "Movies") main.addDir('All Movies', 'http://www.scenesource.me/category/films/', 389, art + '/scenesource.png') main.addDir('BDRip', 'http://www.scenesource.me/category/films/bdrip/', 389, art + '/scenesource.png') main.addDir('BluRay', 'http://www.scenesource.me/category/films/bluray/', 389, art + '/scenesource.png') main.addDir('DVDRip', 'http://www.scenesource.me/category/films/dvdrip/', 389, art + '/scenesource.png') main.addDir('DVDSCR', 'http://www.scenesource.me/category/films/dvdscr/', 389, art + '/scenesource.png') main.addDir('CAM', 'http://www.scenesource.me/category/films/cam/', 389, art + '/scenesource.png') main.addDir('R5', 'http://www.scenesource.me/category/films/r5/', 389, art + '/scenesource.png') elif murl == 'tvshows': main.GA(prettyName, "Tv") main.addDir('All TV Shows', 'http://www.scenesource.me/category/tv/', 391, art + '/scenesource.png') main.addDir('DVD', 'http://www.scenesource.me/category/tv/dvd/', 389, art + '/scenesource.png') main.addDir('Sports', 'http://www.scenesource.me/category/tv/sports-tv/', 391, art + '/scenesource.png') main.addDir('PREAIR', 'http://www.scenesource.me/category/tv/preair/', 391, art + '/scenesource.png') main.VIEWSB2()
def WB(): main.addDir( 'Looney Tunes', 'Looney Tunes', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/LooneyTunes_video.jpg' ) main.addDir( 'Ozzy and Drix', 'Ozzy & Drix', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/OzzieDrix_video.jpg' ) main.addDir( 'Shaggy and Scoobydoo Get A Clue', 'Shaggy & Scooby-Doo Get A Clue!', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/ShaggyScoobyGetAClue_video.jpg' ) main.addDir( 'The Smurfs', 'Smurfs', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/smurf_video.jpg' ) main.addDir( 'The Flintstones', 'The Flintstones', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/Flintstones_video.jpg' ) main.addDir( 'The Jetsons', 'The Jetsons', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/Jetsons_video.jpg' ) main.addDir( 'The New Scoobydoo Mysteries', 'The New Scooby-Doo Mysteries', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/ScoobyDooMysteries_video.jpg' ) main.addDir( 'Thundercats', 'ThunderCats', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/Thundercats.jpg' ) main.addDir( 'Tom and Jerry Tales', 'Tom And Jerry Tales', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/TomJerryTales_video.jpg' ) main.addDir( 'Xiaolin Showdown', 'Xiaolin Showdown', 78, 'http://staticswf.kidswb.com/franchise/content/images/touts/video_channel_thumbs/XiaolinShowdown_video.jpg' ) main.GA("KidZone", "WBK")
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 LISTDOC(murl): if murl == 'doc1': main.GA("Documantary", "DhHome") #main.addDir('[COLOR red]Search[/COLOR]','search',89,'') main.addDir('[COLOR red]Popular[/COLOR]', 'http://documentaryheaven.com/popular/', 89, '') main.addDir('[COLOR red]Recent[/COLOR]', 'http://documentaryheaven.com/all/', 87, '') url = 'http://documentaryheaven.com/' link = main.OPENURL(url) match = re.compile( '<li class=".+?"><a href="(.+?)" title=".+?">(.+?)</a> </li>' ).findall(link) for url, name in match: main.addDir(name, 'http://documentaryheaven.com' + url, 87, '') elif murl == 'doc2': main.GA("Documantary", "TDFHome") main.addDir('[COLOR red]Recent[/COLOR]', 'http://topdocumentaryfilms.com/all/', 87, '') main.addDir('[COLOR red]Recommended[/COLOR]', 'rec', 89, '') url = 'http://topdocumentaryfilms.com/' link = main.OPENURL(url) match = re.compile( 'href="(.+?)" title=".+?">(.+?)</a>.+?</li>').findall(link) for url, name in match: main.addDir(name, url, 87, '') elif murl == 'doc3': main.GA("Documantary", "DLHome") main.addDir('[COLOR red]Latest[/COLOR]', 'http://www.documentary-log.com/', 87, '') main.addDir("[COLOR red]Editor's Picks[/COLOR]", 'http://www.documentary-log.com/category/editors-picks/', 87, '') url = 'http://www.documentary-log.com/' link = main.OPENURL(url) match = re.compile( '<li class="cat-item cat-item-.+?"><a href="(.+?)" title="(.+?)">(.+?)</a> ([^<]+)' ).findall(link) for url, desc, name, leng in match: main.addDirc(name + ' ' + leng, url, 87, '', desc, '', '', '', '')
def GENRECINEM(): main.addDir('Анимация', 'http://cinemaxx.ru/category/15/', 363, art + '/cinemaxx.png') main.addDir('Анимэ', 'http://cinemaxx.ru/category/31/', 363, art + '/cinemaxx.png') main.addDir('Биография', 'http://cinemaxx.ru/category/biography/', 363, art + '/cinemaxx.png') main.addDir('Боевик', 'http://cinemaxx.ru/category/2/', 363, art + '/cinemaxx.png') main.addDir('Вестерн', 'http://cinemaxx.ru/category/34/', 363, art + '/cinemaxx.png') main.addDir('Видео', 'http://cinemaxx.ru/category/24/', 363, art + '/cinemaxx.png') main.addDir('Военный', 'http://cinemaxx.ru/category/11/', 363, art + '/cinemaxx.png') main.addDir('Детектив', 'http://cinemaxx.ru/category/10/', 363, art + '/cinemaxx.png') main.addDir('Драма', 'http://cinemaxx.ru/category/7/', 363, art + '/cinemaxx.png') main.addDir('Зарубежное', 'http://cinemaxx.ru/category/27/', 363, art + '/cinemaxx.png') main.addDir('Индия', 'http://cinemaxx.ru/category/36/', 363, art + '/cinemaxx.png') main.addDir('Исторический', 'http://cinemaxx.ru/category/20/', 363, art + '/cinemaxx.png') main.addDir('Комедия', 'http://cinemaxx.ru/category/1/', 363, art + '/cinemaxx.png') main.addDir('Короткометраж', 'http://cinemaxx.ru/category/short/', 363, art + '/cinemaxx.png') main.addDir('Криминал', 'http://cinemaxx.ru/category/9/', 363, art + '/cinemaxx.png') main.addDir('Мелодрама', 'http://cinemaxx.ru/category/8/', 363, art + '/cinemaxx.png') main.addDir('Мистика', 'http://cinemaxx.ru/category/5/', 363, art + '/cinemaxx.png') main.addDir('Мюзикл', 'http://cinemaxx.ru/category/17/', 363, art + '/cinemaxx.png') main.addDir('Новости кино', 'http://cinemaxx.ru/category/21/', 363, art + '/cinemaxx.png') main.addDir('Отечественное', 'http://cinemaxx.ru/category/23/', 363, art + '/cinemaxx.png') main.addDir('Приключения', 'http://cinemaxx.ru/category/12/', 363, art + '/cinemaxx.png') main.addDir('Ретро', 'http://cinemaxx.ru/retrofilms/', 363, art + '/cinemaxx.png') main.addDir('Семейный', 'http://cinemaxx.ru/category/13/', 363, art + '/cinemaxx.png') main.addDir('Сериалы', 'http://cinemaxx.ru/category/30/', 363, art + '/cinemaxx.png') main.addDir('Сказка', 'http://cinemaxx.ru/category/14/', 363, art + '/cinemaxx.png') main.addDir('Спорт', 'http://cinemaxx.ru/category/35/', 363, art + '/cinemaxx.png') main.addDir('Триллер', 'http://cinemaxx.ru/category/3/', 363, art + '/cinemaxx.png') main.addDir('Ужасы', 'http://cinemaxx.ru/category/6/', 363, art + '/cinemaxx.png') main.addDir('Фантастика', 'http://cinemaxx.ru/category/4/', 363, art + '/cinemaxx.png') main.addDir('Фэнтези', 'http://cinemaxx.ru/category/16/', 363, art + '/cinemaxx.png') main.addDir('Эротика', 'http://cinemaxx.ru/category/22/', 363, art + '/cinemaxx.png') main.addDir('Юмор', 'http://cinemaxx.ru/category/humor/', 363, art + '/cinemaxx.png') main.addDir('Документальное', 'http://cinemaxx.ru/category/18/', 363, art + '/cinemaxx.png') main.addDir('Криминальная Россия', 'http://cinemaxx.ru/category/krim_ross/', 363, art + '/cinemaxx.png') main.addDir('Следствие вели', 'http://cinemaxx.ru/category/sledveli/', 363, art + '/cinemaxx.png')
def MAINSCENE(): main.GA("Plugin", prettyName) main.addDir('Search Movies & TV Shows', 's', 392, art + '/search.png') main.addDir('Movies', 'movies', 388, art + '/scenesource.png') main.addDir('Tv Shows', 'tvshows', 388, art + '/scenesource.png') main.VIEWSB2()
def LISTSP3(murl): subpages = 5 if murl == 'HD': page = 1 max = 100 else: try: pages = murl.split(',', 1 ); page = int(pages[0]) max = int(pages[1]) except: page = 1 # http://www.filestube.to/query.html?q=1080p+bluray+-esubs+-msubs+-subs&hosting=85&select=mkv&sizefrom=6000&sizeto=20000&sort=dd&page=1 hosts = "" possiblehosts = ( ["lumfile.com","85"], ["turbobit.net","40"], # ["fileom.com","106"], # ["letitbit.net","25"], ) for h,n in possiblehosts: if main.supportedHost(h): hosts += n+"%2C" hosts = hosts.rstrip("%2C") url='http://www.filestube.to/query.html?q=1080p+bluray+-esubs&hosting='+hosts+'&select=mkv&sizefrom=5000&sizeto=20000&sort=dd' urls = [] for n in range(subpages): urls.append(url+"&page="+str(page+n)) if page+n == max: break page = page + subpages - 1 link=main.batchOPENURL(urls) # print link next = len(re.compile('>►</a>').findall(link)) == subpages link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('&','&') match=re.compile('(?sim)<a href="([^"]+?)"[^>]*?class="rL"[^>]*?>(.+?)</a>.*?class="eT.*?<b>([^>]*?)<').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') match1 = [] for url, name, hostsite in match: name = name.replace('<b>','').replace('</b>','') name=main.unescapes(name) if not re.search('(?i)(\\bsubs\\b|\\msubs\\b|fetish)',name) and re.search('(?i)(20\d\d|19\d\d)',name): match1.append((url,name,hostsite)) match = match1 totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url, name, hostsite in match: url = url.decode('utf-8').encode('ascii', 'ignore') url = 'http://www.filestube.to' + url main.addPlayM(name.strip() + " [COLOR red]" + hostsite + "[/COLOR]",url,406,'','','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): break if next and loadedLinks >= totalLinks: main.addDir('Page ' + str(page/subpages) + ' [COLOR blue]Next Page >>>[/COLOR]',str(page+1)+','+str(max),405,art+'/next2.png') dialogWait.close() del dialogWait main.GA("HD-TV","FilesTube") main.VIEWS()
def SEASONS(mname, murl): id = murl.split('xoxe')[0] season = murl.split('xoxe')[1] for s in reversed(range(int(season))): main.addDir(mname.strip() + ' Season ' + str(s + 1), id, 281, '')
def GENREEXTRA(murl): main.addDir('Action', 'http://www.extraminamovies.in/category/action-movies/', 531, art + '/wfs/act.png') main.addDir('Adventure', 'http://www.extraminamovies.in/category/adventure-movies/', 531, art + '/wfs/adv.png') main.addDir('Animation', 'http://www.extraminamovies.in/category/animation-movies/', 531, art + '/wfs/ani.png') main.addDir('Biography', 'http://www.extraminamovies.in/category/biography-movies/', 531, art + '/wfs/bio.png') main.addDir('Bollywood', 'http://www.extraminamovies.in/category/bollywood-movies/', 531, art + '/wfs/bollyw.png') main.addDir('Classics', 'http://www.extraminamovies.in/category/classic-movies/', 531, art + '/wfs/class.png') main.addDir('Comedy', 'http://www.extraminamovies.in/category/comedy-movies/', 531, art + '/wfs/com.png') main.addDir('Crime', 'http://www.extraminamovies.in/category/crime-movies/', 531, art + '/wfs/cri.png') main.addDir('Documentary', 'http://www.extraminamovies.in/category/documentary-movies/', 531, art + '/wfs/doc.png') main.addDir('Drama', 'http://www.extraminamovies.in/category/drama-movies/', 531, art + '/wfs/dra.png') main.addDir('Family', 'http://www.extraminamovies.in/category/family-movies/', 531, art + '/wfs/fam.png') main.addDir('Fantasy', 'http://www.extraminamovies.in/category/fantasy-movies/', 531, art + '/wfs/fan.png') main.addDir('Foreign', 'http://www.extraminamovies.in/category/foreign-movies/', 531, art + '/wfs/foriegn.png') main.addDir('Horror', 'http://www.extraminamovies.in/category/horror-movies/', 531, art + '/wfs/hor.png') main.addDir('Music', 'http://www.extraminamovies.in/category/music-movies/', 531, art + '/wfs/mus.png') main.addDir('Mystery', 'http://www.extraminamovies.in/category/mystery-movies/', 531, art + '/wfs/mys.png') main.addDir('Romance', 'http://www.extraminamovies.in/category/romance-movies/', 531, art + '/wfs/rom.png') main.addDir('Sci-Fi', 'http://www.extraminamovies.in/category/scifi-movies/', 531, art + '/wfs/sci.png') main.addDir('Sport', 'http://www.extraminamovies.in/category/sport-movies/', 531, art + '/wfs/spo.png') main.addDir('Thriller', 'http://www.extraminamovies.in/category/thriller-movies/', 531, art + '/wfs/thr.png') main.addDir('War', 'http://www.extraminamovies.in/category/war-movies/', 531, art + '/wfs/war.png') main.addDir('Western', 'http://www.extraminamovies.in/category/western-movies/', 531, art + '/wfs/wes.png') main.GA("Extramina", "Genre") main.VIEWSB()
def AtoZ(): main.addDir('0-9', 'http://www.couchtuner.eu/tv-list/#', 8, art + '/09.png') for i in string.ascii_uppercase: main.addDir(i, 'http://www.couchtuner.eu/tv-list/#' + i.upper() + '/', 8, art + '/' + i.lower() + '.png')
def NG(): main.addDir('National Geographic Channel','ngc','',art+'/ngccm.png') main.addDir('Nat Geo Wild','ngw','',art+'/ngwcm.png') main.addDir('Nat Geo Animals','nga',71,art+'/nga2.png') main.GA("Adventure","NationalGeo") main.VIEWSB()
def AtoZEXTRA(): main.addDir( '#', 'http://www.extraminamovies.in/list-of-movies/?pgno=293#char_22', 531, art + '/wfs/pound.png') main.addDir( '0-9', 'http://www.extraminamovies.in/list-of-movies/?pgno=1#char_31', 531, art + '/wfs/09.png') main.addDir( 'A', 'http://www.extraminamovies.in/list-of-movies/?pgno=6#char_41', 531, art + '/wfs/A.png') main.addDir( 'B', 'http://www.extraminamovies.in/list-of-movies/?pgno=24#char_42', 531, art + '/wfs/B.png') main.addDir( 'C', 'http://www.extraminamovies.in/list-of-movies/?pgno=44#char_43', 531, art + '/wfs/C.png') main.addDir( 'D', 'http://www.extraminamovies.in/list-of-movies/?pgno=60#char_44', 531, art + '/wfs/D.png') main.addDir( 'E', 'http://www.extraminamovies.in/list-of-movies/?pgno=75#char_45', 531, art + '/wfs/E.png') main.addDir( 'F', 'http://www.extraminamovies.in/list-of-movies/?pgno=81#char_46', 531, art + '/wfs/F.png') main.addDir( 'G', 'http://www.extraminamovies.in/list-of-movies/?pgno=92#char_47', 531, art + '/wfs/G.png') main.addDir( 'H', 'http://www.extraminamovies.in/list-of-movies/?pgno=99#char_48', 531, art + '/wfs/H.png') main.addDir( 'I', 'http://www.extraminamovies.in/list-of-movies/?pgno=112#char_49', 531, art + '/wfs/I.png') main.addDir( 'J', 'http://www.extraminamovies.in/list-of-movies/?pgno=120#char_4a', 531, art + '/wfs/J.png') main.addDir( 'K', 'http://www.extraminamovies.in/list-of-movies/?pgno=125#char_4b', 531, art + '/wfs/K.png') main.addDir( 'L', 'http://www.extraminamovies.in/list-of-movies/?pgno=130#char_4c', 531, art + '/wfs/L.png') main.addDir( 'M', 'http://www.extraminamovies.in/list-of-movies/?pgno=141#char_4d', 531, art + '/wfs/M.png') main.addDir( 'N', 'http://www.extraminamovies.in/list-of-movies/?pgno=156#char_4e', 531, art + '/wfs/N.png') main.addDir( 'O', 'http://www.extraminamovies.in/list-of-movies/?pgno=162#char_4f', 531, art + '/wfs/O.png') main.addDir( 'P', 'http://www.extraminamovies.in/list-of-movies/?pgno=166#char_50', 531, art + '/wfs/P.png') main.addDir( 'Q', 'http://www.extraminamovies.in/list-of-movies/?pgno=177#char_51', 531, art + '/wfs/Q.png') main.addDir( 'R', 'http://www.extraminamovies.in/list-of-movies/?pgno=178#char_52', 531, art + '/wfs/R.png') main.addDir( 'S', 'http://www.extraminamovies.in/list-of-movies/?pgno=188#char_53', 531, art + '/wfs/S.png') main.addDir( 'T', 'http://www.extraminamovies.in/list-of-movies/?pgno=214#char_54', 531, art + '/wfs/T.png') main.addDir( 'U', 'http://www.extraminamovies.in/list-of-movies/?pgno=273#char_55', 531, art + '/wfs/U.png') main.addDir( 'V', 'http://www.extraminamovies.in/list-of-movies/?pgno=278#char_56', 531, art + '/wfs/V.png') main.addDir( 'W', 'http://www.extraminamovies.in/list-of-movies/?pgno=279#char_57', 531, art + '/wfs/W.png') main.addDir( 'X', 'http://www.extraminamovies.in/list-of-movies/?pgno=289#char_58', 531, art + '/wfs/X.png') main.addDir( 'Y', 'http://www.extraminamovies.in/list-of-movies/?pgno=289#char_59', 531, art + '/wfs/Y.png') main.addDir( 'Z', 'http://www.extraminamovies.in/list-of-movies/?pgno=291#char_5a', 531, art + '/wfs/Z.png') main.GA("Extramina", "AZ") main.VIEWSB()
def MAINSIDE(cacheOnly=False): import time import datetime cached_path = os.path.join(os.path.join(main.datapath, 'Cache'), 'Sidereel') cached = main.getFile(cached_path) if (not cached or (cached and time.mktime( datetime.date.today().timetuple()) > os.stat(cached_path).st_mtime) or xbmcgui.Window(10000).getProperty('Refresh_Sidreel')): from t0mm0.common.net import Net as net setCookie(MAINURL) response = net().http_GET(MAINURL) link = response.content link = cleanHex(link) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace(' ', '') today = re.compile( "<li class='current'>[^/]+?<h2 class='[^']*?'><span>(.+?)</span></h2><div(.+?)/div></div></li>", re.DOTALL).findall(link) match = re.compile( "<li class=''>[^/]+?<h2 class='[^']+?'><span>(.+?)</span></h2><div(.+?)/div></div></li>", re.DOTALL).findall(link) match = today + match if match: main.setFile(cached_path, str(match), True) else: main.addLink( '[COLOR red]Something is wrong, Check if you credentials are correct[/COLOR]', 'TV', '') main.addSpecial( '[COLOR yellow]User: [/COLOR][COLOR white]' + user + '[/COLOR] --- Click to EDIT', 'USER', 456, '') main.addSpecial( '[COLOR yellow]Pass: [/COLOR][COLOR white]' + passw + '[/COLOR] --- Click to EDIT', 'PASS', 456, '') main.addLink( '[COLOR orange]If they are correct Clear Cache & Cookies Below[/COLOR]', 'TV', '') main.addDir('[COLOR blue]Clear Cache & Cookies[/COLOR]', 'MashCache', 416, art + '/maintenance.png') main.addLink( '[COLOR red]If that does not solve the issue post log on forums[/COLOR]', 'TV', '') xbmcgui.Window(10000).clearProperty('Refresh_Sidreel') else: match = eval(cached) if cacheOnly: return False main.GA("None", "SideReel") main.addDir('Search for Shows', 'TV', 398, art + '/search.png') main.addDir('All Tracked Shows', 'TV', 402, art + '/sidereel.png') import calendar todaytimestamp = calendar.timegm( time.strptime( time.strftime("%b") + " " + time.strftime("%d"), "%b %d")) showsdisplayed = 0 for date, shows in match: print shows if 'data-track-label="TrackerPage"' in shows: s = re.sub('(?i)^.*?,(.*)$', '\\1', date).strip() timestamp = calendar.timegm(time.strptime(s, "%b %d")) days = (timestamp - todaytimestamp) / 86400 relative = getRelativeDate(days) main.addLink( '[COLOR yellow]' + date + '[/COLOR] [COLOR orange](' + relative + ')[/COLOR]', '', art + '/link.png') match2 = re.compile( """data-track-label="TrackerPage" href=".+?">([^<]+?)</a><div><a class=".+?data-track-label="TrackerPage" href="([^"]+?)">([^<]+?)</a></div>""", re.DOTALL).findall(shows) for showname, seaepi, epiname in match2: se = re.search('season-(\d+)/episode-(\d+)', seaepi) if se: if len(se.group(1)) == 1: sea = '0' + str(se.group(1)) else: sea = str(se.group(1)) if len(se.group(2)) == 1: epi = '0' + str(se.group(2)) else: epi = str(se.group(2)) final = 'S' + sea + 'E' + epi else: final = '' main.addDir( showname + ' ' + final + ' [COLOR red] "' + epiname + '"[/COLOR]', 'TV', 20, art + '/sidereel.png') showsdisplayed += 1 if not showsdisplayed: main.removeFile(cached_path)
def NGDir(murl): if murl =='ngc': main.addDir('Full Episodes','http://video.nationalgeographic.com/video/national-geographic-channel/full-episodes/',72,art+'/ngc.png') main.addDir('Shows','http://video.nationalgeographic.com/video/national-geographic-channel/shows/',72,art+'/ngc.png') main.addDir('Specials','http://video.nationalgeographic.com/video/national-geographic-channel/specials-1/',72,art+'/ngc.png') main.addDir('Extras','http://video.nationalgeographic.com/video/national-geographic-channel/extras/',72,art+'/ngc.png') main.GA("NationalGeo","NGC") elif murl =='ngw': main.addDir('Full Episodes','http://video.nationalgeographic.com/video/nat-geo-wild/full-episodes-1/',72,art+'/ngw.png') main.addDir('Shows','http://video.nationalgeographic.com/video/nat-geo-wild/shows-1/',72,art+'/ngw.png') main.addDir('Specials','http://video.nationalgeographic.com/video/nat-geo-wild/specials-2/',72,art+'/ngw.png') main.addDir('Extras','http://video.nationalgeographic.com/video/nat-geo-wild/extras-1/',72,art+'/ngw.png') main.GA("NationalGeo","NGW") elif murl =='nga': main.addDir('Amphibians','http://video.nationalgeographic.com/video/animals/amphibians-animals/',72,art+'/nga2.png') main.addDir('Birds','http://video.nationalgeographic.com/video/animals/birds-animals/',72,art+'/nga2.png') main.addDir('Bugs','http://video.nationalgeographic.com/video/animals/bugs-animals/',72,art+'/nga2.png') main.addDir('Crittercam','http://video.nationalgeographic.com/video/animals/crittercam-animals/',72,art+'/nga2.png') main.addDir('Fish','http://video.nationalgeographic.com/video/animals/fish-animals/',72,art+'/nga2.png') main.addDir('Invertebrates','http://video.nationalgeographic.com/video/animals/invertebrates-animals/',72,art+'/nga2.png') main.addDir('Mammals','http://video.nationalgeographic.com/video/animals/mammals-animals/',72,art+'/nga2.png') main.addDir('Reptiles','http://video.nationalgeographic.com/video/animals/reptiles-animals/',72,art+'/nga2.png') main.GA("NationalGeo","NGA") elif murl =='ngk': main.addDir('Animals & Pets','http://video.nationalgeographic.com/video/kids/animals-pets-kids/',72,art+'/ngk.png') main.addDir('Cartoons & Shows','http://video.nationalgeographic.com/video/kids/cartoons-tv-movies-kids/',72,art+'/ngk.png') main.addDir('Explorers','http://video.nationalgeographic.com/video/kids/explorers-kids/',73,art+'/ngk.png') main.addDir('Forces of Nature','http://video.nationalgeographic.com/video/kids/forces-of-nature-kids/',73,art+'/ngk.png') main.addDir('Green','http://video.nationalgeographic.com/video/kids/green-kids/',73,art+'/ngk.png') main.addDir('History','http://video.nationalgeographic.com/video/kids/history-kids/',73,art+'/ngk.png') main.addDir('Movies & Books','http://video.nationalgeographic.com/video/kids/movies-books-kids/',73,art+'/ngk.png') main.addDir('My Shot Minute','http://video.nationalgeographic.com/video/kids/my-shot-minute-kids/',73,art+'/ngk.png') main.addDir('People & Places','http://video.nationalgeographic.com/video/kids/people-places-kids/',73,art+'/ngk.png') main.addDir('Science & Space','http://video.nationalgeographic.com/video/kids/science-space-kids/',73,art+'/ngk.png') main.addDir('Weird & Wacky','http://video.nationalgeographic.com/video/kids/weird-wacky-kids/',72,art+'/ngk.png') main.GA("KidZone","NGK")
def LISTSP2(murl): if murl.startswith('3D'): main.addDir('Search Newmyvideolinks', 'movieNEW', 102, art + '/search.png') subpages = 2 max = 9 category = "3-d-movies" elif murl.startswith('TV'): main.addDir('Search Newmyvideolinks', 'tvNEW', 102, art + '/search.png') subpages = 3 max = 50 category = "tv-shows" else: main.addDir('Search Newmyvideolinks', 'movieNEW', 102, art + '/search.png') subpages = 5 max = 250 category = "bluray" parts = murl.split('-', 1) try: pages = parts[1].split(',', 1) page = int(pages[0]) max = int(pages[1]) murl = parts[0] except: page = 0 page = page * subpages urllist = '' urls = [] for n in range(subpages): if page + n + 1 > max: break if category == "tv-shows": urls.append('http://tv.myvideolinks.eu/page/' + str(page + n + 1)) else: urls.append('http://www.myvideolinks.me/category/movies/' + category + '/page/' + str(page + n + 1)) urllist = main.batchOPENURL(urls) hasNextPage = re.compile('>›</a>').findall(urllist) if category != "3-d-movies" and len( hasNextPage ) < subpages or category == "3-d-movies" and subpages * page > max: page = None else: hasMax = re.compile("page/(\d+?)/'>»</a>").findall(urllist) if hasMax: max = hasMax[0] if urllist: urllist = main.unescapes(urllist) #link=main.OPENURL(xurl) match = re.compile(pattern).findall(urllist) # if not match: # match=re.compile('<h3><a href="()([^"]+?)"[^>]+?title="([^"]+?)"').findall(urllist) if match: dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes Cached :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, title in match: if murl == 'TV': # if re.compile('720p').findall(title): title = main.CleanTitle(title) main.addDirTE(title, url, 35, thumb, '', '', '', '', '') else: title = main.CleanTitle(title) main.addDirM(title, url, 35, thumb, '', '', '', '', '') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies/Episodes Cached :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if dialogWait.iscanceled(): break if not page is None and loadedLinks >= totalLinks: main.addDir( 'Page ' + str(page / subpages + 1) + ' [COLOR blue]Next Page >>>[/COLOR]', murl + "-" + str(page / subpages + 1) + "," + str(max), 34, art + '/next2.png') dialogWait.close() del dialogWait main.GA("HD-3D-HDTV", "Newmyvideolinks") main.VIEWS()
def MAIN(): main.GA("Sports","GolfChannel") main.addDir('Full Episodes','http://www.golfchannel.com/tv/?WOtab=#watchOnlineTab',218,art+'/golfchannel.png') main.addDir('Featured Videos','http://www.golfchannel.com/search/?&q=&submitSearch=+&mediatype=Video',221,art+'/golfchannel.png')