def TVIndex3(url,name): ################# TV Genre Index ################# link=main.OPEN_URL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','') match = re.findall('src="http://www.thedarewall.com/tv/templates/svarog/timthumb.php[?]src=([^"]*)&w=[^"]*&h=[^"]*&zc=1" alt=" "/> </a> </div> <h5> <a class="link" href="([^"]*)" title="([^"]*)">[^"]*</a>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') main.addInfo(name,url,7,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Tv 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('<a href="([^"]*)">»</a></li> </ul></div></div><br style="clear:both;" />').findall(link) for url in nextpage: main.addDir('[COLOR blue]Next Page -> [/COLOR]',url,5,art+'/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'Tv-Shows')
def LISTMOVIES(murl,index=False): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match = re.findall('movie_pic"><a href="([^"]+)" target=".+?<img src="(.+?)".+?target="_self">([^<]+)</a>.+?>([^<]+)</a>.+?<br/>Views: <span>(.+?)</span>.+?(.+?)votes.*?<li class="current-rating" style="width:(\d+?)px',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,genre,views,votes,rating in match: votes=votes.replace('(','') name=name.replace('-','').replace('&','').replace('acute;','').strip() if index == 'True': main.addInfo(name+'[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'/100[/COLOR]',MainUrl+url,21,thumb,genre,'') else: main.addInfo(name+'[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'/100[/COLOR]',MainUrl+url,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 paginate=re.compile('</a><a href=\'([^<]+)\'>Next</a>').findall(link) if paginate: # main.addDir('[COLOR red]Home[/COLOR]','',2000,art+'/home.png') main.addDir('[COLOR red]Enter Page #[/COLOR]',murl,207,art+'/gotopage.png',index=index) xurl=MainUrl+paginate[0] r = re.findall('>Next</a><a href=\'/.+?/(\d+)\'>Last</a>',link) pg= re.findall('/.+?/(\d+)',paginate[0]) pg=int(pg[0])-1 if r: main.addDir('[COLOR blue]Page '+ str(pg)+' of '+r[0]+'[/COLOR]',xurl,1,art+'/next2.png',index=index) else: main.addDir('[COLOR blue]Page '+ str(pg)+'[/COLOR]',xurl,1,art+'/next2.png',index=index) xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def MOVIES(url): link=main.OPENURL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match = re.findall('<div class="item"><a href="([^"]*)"><img alt=".+?" src="([^"]*)" /></a><div class="title"><a title="watch movie([^"]*)".+?<div class="year"> ([^"]*)</div>',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,date in match: main.addInfo(name+'[COLOR blue] '+date+'[/COLOR]',base_url+url,8,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 nextpage=re.compile('<a href="([^"]*)" class="next">Next »</a>').findall(link) for url in nextpage: main.addDir('Next Page >>',base_url+url,1,art+'/next.jpg') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def SearchResults(url): link=main.OPEN_URL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\xa6','...').replace('–','-').replace('#038;','').replace(''',"'") movies=re.compile('class="page_title">Movie results(.+?)>Close</a>').findall(link) match=re.compile('<div class="view_img">.+?<a href="([^"]*?)" class="spec-border-ie" title=.+?<img class="img-preview spec-border show-thumbnail" src="http://www.thedarehub.com/tv/templates/svarog/timthumb.php[?]src=([^"]*?)&w=130&h=190&zc=1" alt.+?<a class="link" href=".+?" title="([^"]*?)">').findall(movies[0]) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait while Search is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Search Results 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('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-').replace(''',"'") main.addInfo(name,url,80,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Search Results 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("DELETE").findall(link) for url in nextpage: name = '[COLOR green] Next Page -> [/COLOR]' main.addDir(name,url,15,'')
def Episodes(url, name): ################# TV Episodes ################# link = main.OPEN_URL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '') match = re.findall( 'src="http://www.thedarewall.com/tv/templates/svarog/timthumb.php[?]src=([^"]*)&w=[^"]*&h=[^"]*&zc=1" alt=" " style=.+?<h5 class="left"> <a class="link" href="([^>]*)" title="(.+?)</a>', link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for thumb, url, name in match: name = name.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '').replace('">', " ") main.addInfo(name, url, 75, thumb, '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Tv 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 xbmcplugin.setContent(int(sys.argv[1]), 'Tv-Shows')
def Index(url): link=main.OPENURL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') match = re.findall('<a href="([^>]+)" rel="bookmark">([^>]+)</a></h2>.+?<a href="[^>]+">([^>]+)</a>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Shows loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for url,name,date in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') main.addInfo(name+'[COLOR green] Date: '+date+'[/COLOR]',url,75,'','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Tv Shows 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 olderentries=re.compile('<a href="([^>]+)" >« Older Entries</a>').findall(link) for url in olderentries: main.addDir('[COLOR blue]Older Entries -> [/COLOR]',url,1,art+'/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
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 LISTMOVIES(murl,index=False): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match = re.findall('lass="item"><a href="([^"]*)"><img alt=".+?src="([^"]*)" /></a><div class="title"><a title="watch movie([^"]*)".+?<div class="year"> ([^"]*)</div>',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,date in match: name = name.upper() main.addInfo(name+'[COLOR blue] '+date+'[/COLOR]',MainUrl+url,50,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 href="([^"]*)" class="next">Next »</a>').findall(link) if paginate: xurl=MainUrl+paginate[0] main.addDir('[COLOR blue]Next Page ->[/COLOR]',xurl,1,art+'/next.jpg',index=index) xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def SEARCH(murl = '',index=False): encode = main.updateSearchFile(murl,'Movies') if not encode: return False surl='http://megashare.li/index.php?search='+encode+'&movie=&x=0&y=0' link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('class="item"><a href="([^"]*)"><img alt=".+?src="([^"]*)" /></a><div class="title"><a title="watch movie([^"]*)" href=".+?<div class="year"> ([^"]*)</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) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for url,thumb,name,date in match: name=name.replace('-','').replace('&','').replace('acute;','') furl= MainUrl+url main.addInfo(name+'[COLOR blue] '+date +'[/COLOR]',furl,50,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 exist = re.findall('<a href="([^"]*)" class="next">Next »</a>',link) if exist: main.addDir('[COLOR blue]Next Page ->[/COLOR]',MainUrl+url,20,art+'/next.jpg',index=index) xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def YEARB(murl,index=False): 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 href=".+?" target=".+?">(.+?)</a></h1><div class=".+?">Genre: <a href=".+?" target=\'.+?\'>(.+?)</a>.+?Release:.+?<br/>Views: <span>(.+?)</span>.+?id=RateCount_.+?>(.+?)</span> votes.*?<li class="current-rating" style="width:(\d+?)px').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 if index == 'True': main.addInfo(name+'[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'/100[/COLOR]',furl,21,thumb,genre,'') else: main.addInfo(name+'[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'/100[/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[38:45] 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',index=index) main.addDir('[COLOR blue]Page 1 of '+r[0]+'[/COLOR]','http://www.movie25.so/search.php?page=2&year='+str(ye),9,art+'/next2.png',index=index) else: main.addDir('[COLOR blue]Page 1[/COLOR]','http://www.movie25.so/search.php?page=2&year='+str(ye),9,art+'/next2.png',index=index) xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def MoviesIndex(url,name): ################# Movie Index ################# link=main.OPEN_URL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','') match = re.findall('src="http://www.thedarewall.com/tv/templates/svarog/timthumb.php[?]src=([^"]*)&w=[^"]*&h=[^"]*&zc=1" alt=" " style=".+?<a class="link" href="([^"]*)" title="([^"]*)">.+?<div class="right"> <div style="float:right;display:block;color:#000;font-size:11px; font-weight: bold;">([^"]*)</div>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show 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,rating in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') main.addInfo(name+ ' ' + " Rating "+rating,url,80,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 nextpage=re.compile('><a href="([^"]*)">»</a></li> </ul></div><div class="clear">').findall(link) for url in nextpage: main.addDir('[COLOR blue]Next Page -> [/COLOR]',url,1,art+'/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCH(url = ''): encode = main.updateSearchFile(url,'Movies') if not encode: return False surl='http://www.filmesonlinegratis.net/?s=' + encode + '&s-btn=Buscar' link=main.OPEN_URL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('– ',' - ') match = re.findall('title="([^"]*)">[^"]*</a></h2><divclass="capa"> <ahref="([^"]*)"><imgsrc="http://static.filmesonlinegratis.net/thumb.php[?]src=([^"]*)&w=135&h=185" alt="[^"]*" title="[^"]*" /></a> <spanclass="qualidade">([^"]*)</span>',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 name,url,thumb,quality in match: #main.addDirb(name+'[COLOR blue] Quality: '+quality+'[/COLOR]',str(url),8,thumb,'') main.addInfo(name+'[COLOR blue] Quality: '+quality+'[/COLOR]',url,8,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 nextpage=re.compile('href="([^"]*)">\xc2\xbb</a>').findall(link) for url in nextpage: main.addDir('Next Page >>',base_url+url,1,art+'/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def Premiers(url,name): ################# Premiers ################# link=main.OPEN_URL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','') match = re.findall('<a href="([^"]*)" style=".+?background-image: url([^"]*);".+?><h2>([^"]*)</h2>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv 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('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('">'," ") thumb = base_url + thumb url = 'http://www.thedarewall.com/' + url main.addInfo(name,url,7,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Tv 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 xbmcplugin.setContent(int(sys.argv[1]), 'Tv-Shows')
def FAVS(): favpath = os.path.join(main.datapath, 'Favourites') moviefav = os.path.join(favpath, 'Movies') FavFile = os.path.join(moviefav, 'Fav') if os.path.exists(FavFile): Favs = re.compile('url="(.+?)",name="(.+?)"').findall( open(FavFile, 'r').read()) for url, name in Favs: name = name.replace('-', '').replace('&', '').replace('acute;', '') url = url.replace('(', '').replace('[', '') if url[0] == 'm': url = 'http://movie25.com/' + url link = main.OPENURL(url) match = re.compile( '<div class="movie_pic"><a href="(.+?)" target="_blank">' ).findall(link) for thumb in match: main.addInfo(name, url, 3, thumb, '', '') else: xbmc.executebuiltin( "XBMC.Notification([B][COLOR green]Mash Up[/COLOR][/B],[B]You Have No Saved Favourites[/B],5000," ")") main.GA("None", "Movie25-Fav") xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def ADULTGENRE(url): link=main.ADULT_URL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace(''',"'") match=re.findall('<a href="([^"]*)"><img alt="[^"]*" src="([^"]*)" /></a><div class="title"><a title="[^"]*" href="[^"]*">([^"]*)</a>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Shows 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 url,thumb,name in match: url = base_url + url main.addInfo(name,url,40,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Shows 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 pagenext=re.compile('<a href="([^"]*)" class="next">Next »</a>').findall(link) if pagenext: url = 'http://megabox.li/index.php' + pagenext[0] main.addDir('[COLOR red]Next Page ->[/COLOR]',url,17,art+'/next.jpg')
def SEARCH(url = ''): encode = main.updateSearchFile(url,'Movies') if not encode: return False surl=base_url + 'index.php?search=' + encode + '&movie=&x=0&y=0' link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match = re.findall('<a href="([^"]*)"><img alt="[^"]*" src="([^"]*)" /></a><div class="title"><a title="[^"]*" href="[^"]*">([^"]*)</a></div><ul class=\'star-rating\'><li class="current-rating" style="[^"]*"></li></ul><div class="item-genres"><a href="[^"]*">([^"]*)</a>',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 in match: name=name.replace('-','').replace('&','').replace('acute;','').strip() main.addInfo(name+'[COLOR blue] Genre: '+genre+'[/COLOR]',base_url+url,8,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 nextpage=re.compile('<a href="([^"]*)" class="next">Next »</a>').findall(link) for url in nextpage: main.addDir('Next Page >>',base_url+url,1,art+'/next.jpg') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def Index(url): link=main.OPENURL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') match = re.findall('<a href="([^"]*)" rel="bookmark" title="[^"]*"><img src="([^"]*)" width="120px" height="178px" alt="([^"]*)" /></a></div>.+?<p class="postmetadata">Updated: ([^"]*)</p>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Shows loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name,date in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') main.addInfo(name+'[COLOR green] Updated: '+date+'[/COLOR]',url,75,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Tv Shows 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 pagenext=re.compile('<a href=\'([^>]+)\' class=\'nextpostslink\'>></a>').findall(link) for url in pagenext: main.addDir('[COLOR blue]Next Page -> [/COLOR]',url,1,art+'/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Tv-Shows')
def MovieIndex2(url,name): ################# Movie Genre Index ################# link=main.OPENURL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','') match = re.findall('<div class="view_img">.+?<a href="([^"]*?)" class="spec-border-ie" title.+?<img class="img-preview spec-border" src="([^"]*?)" alt="([^"]*?)" style',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show 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: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') main.addInfo(name,url,80,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 nextpage=re.compile('<a href="([^"]*?)">»</a></li> </ul> </div> <form method="post"').findall(link) for url in nextpage: main.addDir('[COLOR blue]Next Page -> [/COLOR]',url,13,art+'/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def ADULTGENRE(url): link = main.ADULT_URL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace(''', "'") match = re.findall( '<a href="([^"]*)"><img alt="[^"]*" src="([^"]*)" /></a><div class="title"><a title="[^"]*" href="[^"]*">([^"]*)</a>', link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Shows 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 url, thumb, name in match: url = base_url + url main.addInfo(name, url, 40, thumb, '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Shows 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 pagenext = re.compile( '<a href="([^"]*)" class="next">Next »</a>').findall(link) if pagenext: url = 'http://megabox.li/index.php' + pagenext[0] main.addDir('[COLOR red]Next Page ->[/COLOR]', url, 17, art + '/next.jpg')
def TVIndex(url): ################# TV Index ################# link=main.OPEN_URL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','') match = re.findall('<img class="img-preview spec-border" src="([^"]*?)" alt=" " style="background.+?<a class="link" href="([^"]*?)" title=".+?">([^"]*?)</a>.+?</h5><p class="left">([^"]*?)</p>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Latest Episodes Loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name,season in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') main.addInfo(name+ ' ' + season,url,75,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Latest 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('><a href="([^"]*?)">»</a></li> </ul> </div> <div class="show_all_btn"><ul class="pagination"><li>').findall(link) for url in nextpage: main.addDir('[COLOR blue]Next Page -> [/COLOR]',url,1,art+'/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'Tv-Shows')
def SEARCH(url=""): encode = main.updateSearchFile(url, "Movies") if not encode: return False surl = base_url + "index.php?search=" + encode + "&movie=&x=0&y=0" link = main.OPENURL(surl) link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "") match = re.findall( '<a href="([^"]*)"><img alt="[^"]*" src="([^"]*)" /></a><div class="title"><a title="[^"]*" href="[^"]*">([^"]*)</a></div><ul class=\'star-rating\'><li class="current-rating" style="[^"]*"></li></ul><div class="item-genres"><a href="[^"]*">([^"]*)</a>', 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 in match: name = name.replace("-", "").replace("&", "").replace("acute;", "").strip() main.addInfo(name + "[COLOR blue] Genre: " + genre + "[/COLOR]", base_url + url, 8, 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 nextpage = re.compile('<a href="([^"]*)" class="next">Next »</a>').findall(link) for url in nextpage: main.addDir("Next Page >>", base_url + url, 1, art + "/next.png") xbmcplugin.setContent(int(sys.argv[1]), "Movies") main.VIEWS()
def Series(url): link=main.OPENURL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xc3\xa9','e').replace('\xc3\xb3','o').replace('–','-').replace('\xc3\xa7\xc3\xa3','c').replace('\xc3\xad','i').replace('\xc2\xaa','').replace('’',"'") match = re.findall('title="<img class=\'capa-search\' src=\'([^"]*)\'>" alt="([^"]*)\'">.+?<a href="([^"]*)" title="[^"]*">[^"]*</a>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait, while Series list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Series loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on.[/B]',remaining_display) for thumb,name,url in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace("(US)","-").replace(' ','-').replace('-&-','-').replace('&-','-') print url main.addInfo(name,url,6,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Series 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 olderentries=re.compile('href="([^"]*)">»</a>').findall(link) for url in olderentries: main.addDir('[COLOR blue]Next Page -> [/COLOR]',url,3,art+'/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'TV')
def SEARCH(murl = ''): encode = main.updateSearchFile(murl,'Movies') if not encode: return False surl=MainUrl+'/search.php?key='+encode+'&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 href=".+?" target=".+?">(.+?)</a></h1><div class=".+?">Genre: <a href=".+?" target=\'.+?\'>(.+?)</a>.+?Release:.+?<br/>Views: <span>(.+?)</span>.+?id=RateCount_.+?>(.+?)</span> votes.+?>score:(.+?)</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) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for url,thumb,name,genre,views,votes,rating in match: name=name.replace('-','').replace('&','').replace('acute;','') furl= MainUrl+url main.addInfo(name+'[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'/5.00[/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 exist = re.findall("<a href='search.php.?page=.+?'>Next</a>",link) if exist: r = re.findall(""">Next</a><a href='search.php.?page=([^<]+)&key=.+?'>Last</a>""",link) if r: main.addDir('[COLOR blue]Page 1 of '+r[0]+'[/COLOR]','http://www.movie25.so/search.php?page=2&key='+encode,9,art+'/next2.png') else: main.addDir('[COLOR blue]Page 1[/COLOR]','http://www.movie25.so/search.php?page=2&key='+encode,9,art+'/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.GA("None","Movie25-Search")
def UFCMOVIE25(): surl = "http://www.movie25.so/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' ).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 in match: name = name.replace("-", "").replace("&", "").replace("acute;", "").strip() furl = MainUrl + url main.addInfo( name + "(" + year + ")[COLOR blue] Views: " + views + "[/COLOR] [COLOR red]Votes: " + votes + "[/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.so/search.php?page=2&key=ufc", 9, art + "/next2.png")
def SearchResults(url): link=main.OPEN_URL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\xa6','...').replace('–','-').replace('#038;','').replace(''',"'") match = re.findall('src="http://www.thedarewall.com/tv/templates/svarog/timthumb.php[?]src=([^"]*)&w=[^"]*&h=[^"]*&zc=1" alt=" " />.+?<a class="link" href="([^"]*)" title="([^"]*)">[^"]*</a>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait while Search is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Search Results loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-').replace(''',"'") main.addInfo(name,url,7,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Search Results 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("<a href='([^>]+)' class='nextpostslink'>></a>").findall(link) for url in nextpage: name = '[COLOR green] Next Page -> [/COLOR]' main.addDir(name,url,220,'')
def LISTMOVIES(murl): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.findall( 'movie_pic"><a href="([^"]+)" target=".+?<img src="(.+?)".+?target="_self">([^<]+)</a>.+?>([^<]+)</a>.+?<br/>Views: <span>(.+?)</span>.+?(.+?)votes.*?<li class="current-rating" style="width:(\d+?)px', 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, genre, views, votes, rating in match: votes = votes.replace('(', '') name = name.replace('-', '').replace('&', '').replace('acute;', '').strip() main.addInfo( name + '[COLOR blue] Views: ' + views + '[/COLOR] [COLOR red]Votes: ' + votes + '[/COLOR] [COLOR green]Rating: ' + rating + '/100[/COLOR]', MainUrl + url, 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.GA("None", "Movie25-list") paginate = re.compile('</a><a href=\'([^<]+)\'>Next</a>').findall(link) if paginate: # main.addDir('[COLOR red]Home[/COLOR]','',2000,art+'/home.png') main.addDir('[COLOR red]Enter Page #[/COLOR]', murl, 207, art + '/gotopage.png') xurl = MainUrl + paginate[0] r = re.findall('>Next</a><a href=\'/.+?/(\d+)\'>Last</a>', link) pg = re.findall('/.+?/(\d+)', paginate[0]) pg = int(pg[0]) - 1 if r: main.addDir( '[COLOR blue]Page ' + str(pg) + ' of ' + r[0] + '[/COLOR]', xurl, 1, art + '/next2.png') else: main.addDir('[COLOR blue]Page ' + str(pg) + '[/COLOR]', xurl, 1, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def SEARCH(murl=''): encode = main.updateSearchFile(murl, 'Movies') if not encode: return False surl = MainUrl + '/search.php?key=' + encode + '&submit=' link = main.OPENURL(surl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( '<div class="movie_pic"><a href="([^"]+?)"[^>]+?>\s*?<img src="([^"]+?)"[^>]+?>.+?<a href[^>]+?>([^<]+?)</a></h1><div class=".+?">().*?Views: <span>(.+?)</span>.+?id=RateCount_.+?>(.+?)</span>.*?<li class="current-rating" style="width:(\d+?)px' ).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, genre, views, votes, rating in match: name = name.replace('-', '').replace('&', '').replace('acute;', '') furl = MainUrl + url main.addInfo( name + '[COLOR blue] Views: ' + views + '[/COLOR] [COLOR red]Votes: ' + votes + '[/COLOR] [COLOR green]Rating: ' + rating + '/100[/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 exist = re.findall("<a href='search.php.?page=.+?'>Next</a>", link) if exist: r = re.findall( """>Next</a><a href='search.php.?page=([^<]+)&key=.+?'>Last</a>""", link) if r: main.addDir( '[COLOR blue]Page 1 of ' + r[0] + '[/COLOR]', 'http://www.movie25.so/search.php?page=2&key=' + encode, 9, art + '/next2.png') else: main.addDir( '[COLOR blue]Page 1[/COLOR]', 'http://www.movie25.so/search.php?page=2&key=' + encode, 9, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.GA("None", "Movie25-Search")
def NEXTPAGE(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 href=".+?" target=".+?">(.+?)</a></h1><div class=".+?">Genre: <a href=".+?" target=\'.+?\'>(.+?)</a>.+?Release:.+?<br/>Views: <span>(.+?)</span>.+?id=RateCount_.+?>(.+?)</span> votes.+?>score:(.+?)</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,thumb,name,genre,views,votes,rating in match: name=name.replace('-','').replace('&','').replace('acute;','') furl= MainUrl+url main.addInfo(name+'[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'/5.00[/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 matchx=re.compile('http://www.movie25.so/search.php.+?page=(.+?)&year=(.+?)').findall(murl) if len(matchx)>0: durl = murl + '/' paginate=re.compile('http://www.movie25.so/search.php.+?page=(.+?)&year=(.+?)/').findall(durl) for page, yearb in paginate: pgs = int(page)+1 jurl='http://www.movie25.so/search.php?page='+str(pgs)+'&year='+str(yearb) main.addDir('[COLOR red]Home[/COLOR]','',0,art+'/home.png') 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 '+str(page)+' of '+r[0]+'[/COLOR]',jurl,9,art+'/next2.png') else: main.addDir('[COLOR blue]Page '+str(page)+'[/COLOR]',jurl,9,art+'/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS() else: durl = murl + '/' paginate=re.compile('http://www.movie25.so/search.php.+?page=(.+?)&key=(.+?)/').findall(durl) for page, search in paginate: pgs = int(page)+1 jurl='http://www.movie25.so/search.php?page='+str(pgs)+'&key='+str(search) main.addDir('[COLOR red]Home[/COLOR]','',0,art+'/home.png') r = re.findall(""">Next</a><a href='search.php.?page=([^<]+)&key=.+?'>Last</a>""",link) if r: main.addDir('[COLOR blue]Page '+str(page)+' of '+r[0]+'[/COLOR]',jurl,9,art+'/next2.png') else: main.addDir('[COLOR blue]Page '+str(page)+'[/COLOR]',jurl,9,art+'/next2.png')
def LISTMOVIES(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<div class="movie_pic"><a href="(.+?)" ><img src="(.+?)" width=".+?" height=".+?" alt=".+?" /></a></div> <div class=".+?"> <div class=".+?"> <h1><a href=".+?" >(.+?)</a></h1> <div class=".+?">Genre: <a href=".+?" title=\'.+?\'>(.+?)</a>.+?Release:.+?<br/> Views: <span>(.+?)</span>.+?<span>(.+?)</span> votes.+?<div id=".+?">score:<span id=Rate_.+?>(.+?)</span></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,thumb,name,genre,views,votes,rating in match: name=name.replace('-','').replace('&','').replace('acute;','') main.addInfo(name+'[COLOR blue] Views: '+views+'[/COLOR] [COLOR red]Votes: '+votes+'[/COLOR] [COLOR green]Rating: '+rating+'[/COLOR]',url,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.GA("None","Movie25-list") paginate=re.compile('http://www.movie25.com/movies/.+?/index-(.+?).html').findall(murl) if (len(paginate) == 0): purl = murl + 'index-2.html' r = re.findall('Next</a><a href="index-(.+?).html" title="Last" >Last</a>',link) if r: main.addDir('[COLOR red]Enter Page #[/COLOR]',murl,207,art+'/gotopage.png') exist = re.findall('<a href="index-.+?" class=".+?">Next</a>',link) if exist: main.addDir('[COLOR blue]Page 2[/COLOR]',purl,1,art+'/next2.png') else: paginate=re.compile('http://www.movie25.com/movies/(.+?)/index-(.+?).html').findall(murl) for section, page in paginate: pg= int(page) +1 xurl = main.Mainurl + str(section) + '/' + 'index-'+ str (pg) + '.html' main.addDir('[COLOR red]Home[/COLOR]','',2000,art+'/home.png') r = re.findall('Next</a><a href="index-(.+?).html" title="Last" >Last</a>',link) if r: main.addDir('[COLOR red]Enter Page #[/COLOR]',murl,207,art+'/gotopage.png') exist = re.findall('<a href="index-.+?" class=".+?">Next</a>',link) if exist: main.addDir('[COLOR blue]Page '+ str(pg)+'[/COLOR]',xurl,1,art+'/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
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 href=".+?" target=".+?">(.+?)</a></h1><div class=".+?">Genre: <a href=".+?" target=\'.+?\'>(.+?)</a>.+?Release:.+?<br/>Views: <span>(.+?)</span>.+?id=RateCount_.+?>(.+?)</span> votes.*?<li class="current-rating" style="width:(\d+?)px' ).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 + '/100[/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[38:45] 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 1 of ' + r[0] + '[/COLOR]', 'http://www.movie25.so/search.php?page=2&year=' + str(ye), 9, art + '/next2.png') else: main.addDir('[COLOR blue]Page 1[/COLOR]', 'http://www.movie25.so/search.php?page=2&year=' + str(ye), 9, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def FAVS(): from universal import favorites fav = favorites.Favorites(addon_id, sys.argv) fav_items = fav.get_my_favorites(section_title="Movie25 Fav's", item_mode='addon') if len(fav_items) > 0 : for fav_item in fav_items: 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 green]Mash Up[/COLOR][/B],[B]You Have No Saved Favourites[/B],5000,"")") main.GA("None","Movie25-Fav") xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def Series(url): link = main.OPENURL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '').replace('\xc3\xa9', 'e').replace( '\xc3\xb3', 'o').replace('–', '-').replace( '\xc3\xa7\xc3\xa3', 'c').replace('\xc3\xad', 'i').replace('\xc2\xaa', '').replace('’', "'") match = re.findall( 'title="<img class=\'capa-search\' src=\'([^"]*)\'>" alt="([^"]*)\'">.+?<a href="([^"]*)" title="[^"]*">[^"]*</a>', link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait, while Series list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Series loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on.[/B]', remaining_display) for thumb, name, url in match: name = name.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '').replace('\\', '').replace( '\xe2\x80\x99', "'").replace('\xe2\x80\x93', '-').replace( '\xe2\x80\x94', '').replace("(US)", "-").replace(' ', '-').replace( '-&-', '-').replace('&-', '-') print url main.addInfo(name, url, 6, thumb, '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Series 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 olderentries = re.compile('href="([^"]*)">»</a>').findall(link) for url in olderentries: main.addDir('[COLOR blue]Next Page -> [/COLOR]', url, 3, art + '/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'TV')
def SEARCH(murl='', index=False): encode = main.updateSearchFile(murl, 'Movies') if not encode: return False surl = 'http://megashare.li/index.php?search=' + encode + '&movie=&x=0&y=0' link = main.OPENURL(surl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( 'class="item"><a href="([^"]*)"><img alt=".+?src="([^"]*)" /></a><div class="title"><a title="watch movie([^"]*)" href=".+?<div class="year"> ([^"]*)</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) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for url, thumb, name, date in match: name = name.replace('-', '').replace('&', '').replace('acute;', '') furl = MainUrl + url main.addInfo(name + '[COLOR blue] ' + date + '[/COLOR]', furl, 50, 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 exist = re.findall('<a href="([^"]*)" class="next">Next »</a>', link) if exist: main.addDir('[COLOR blue]Next Page ->[/COLOR]', MainUrl + url, 20, art + '/next.jpg', index=index) xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def Index(url): link = main.OPENURL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '').replace('\xe2\x80\x99', "'").replace( '\xe2\x80\x93', '-').replace('\xe2\x80\x94', '').replace('&-', '-') match = re.findall( '<a href="([^"]*)" rel="bookmark" title="[^"]*"><img src="([^"]*)" width="120px" height="178px" alt="([^"]*)" /></a></div>.+?<p class="postmetadata">Updated: ([^"]*)</p>', link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Shows loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, name, date in match: name = name.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '').replace('\\', '').replace( '\xe2\x80\x99', "'").replace('\xe2\x80\x93', '-').replace('\xe2\x80\x94', '').replace('&-', '-') main.addInfo(name + '[COLOR green] Updated: ' + date + '[/COLOR]', url, 75, thumb, '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Tv Shows 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 pagenext = re.compile( '<a href=\'([^>]+)\' class=\'nextpostslink\'>></a>').findall(link) for url in pagenext: main.addDir('[COLOR blue]Next Page -> [/COLOR]', url, 1, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Tv-Shows')
def Index(url): link = main.OPENURL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '').replace('\xe2\x80\x99', "'").replace( '\xe2\x80\x93', '-').replace('\xe2\x80\x94', '').replace('&-', '-') match = re.findall( '<a href="([^>]+)" rel="bookmark">([^>]+)</a></h2>.+?<a href="[^>]+">([^>]+)</a>', link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Shows loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, name, date in match: name = name.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '').replace('\\', '').replace( '\xe2\x80\x99', "'").replace('\xe2\x80\x93', '-').replace('\xe2\x80\x94', '').replace('&-', '-') main.addInfo(name + '[COLOR green] Date: ' + date + '[/COLOR]', url, 75, '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Tv Shows 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 olderentries = re.compile( '<a href="([^>]+)" >« Older Entries</a>').findall(link) for url in olderentries: main.addDir('[COLOR blue]Older Entries -> [/COLOR]', url, 1, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCH(url=''): encode = main.updateSearchFile(url, 'Movies') if not encode: return False surl = base_url + 'index.php?search=' + encode + '&movie=&x=0&y=0' link = main.OPENURL(surl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.findall( '<a href="([^"]*)"><img alt="[^"]*" src="([^"]*)" /></a><div class="title"><a title="[^"]*" href="[^"]*">([^"]*)</a></div><ul class=\'star-rating\'><li class="current-rating" style="[^"]*"></li></ul><div class="item-genres"><a href="[^"]*">([^"]*)</a>', 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 in match: name = name.replace('-', '').replace('&', '').replace('acute;', '').strip() main.addInfo(name + '[COLOR blue] Genre: ' + genre + '[/COLOR]', base_url + url, 8, 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 nextpage = re.compile( '<a href="([^"]*)" class="next">Next »</a>').findall(link) for url in nextpage: main.addDir('Next Page >>', base_url + url, 1, art + '/next.jpg') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def LISTMOVIES(murl, index=False): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.findall( 'lass="item"><a href="([^"]*)"><img alt=".+?src="([^"]*)" /></a><div class="title"><a title="watch movie([^"]*)".+?<div class="year"> ([^"]*)</div>', 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, date in match: name = name.upper() main.addInfo(name + '[COLOR blue] ' + date + '[/COLOR]', MainUrl + url, 50, 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 href="([^"]*)" class="next">Next »</a>').findall(link) if paginate: xurl = MainUrl + paginate[0] main.addDir('[COLOR blue]Next Page ->[/COLOR]', xurl, 1, art + '/next.jpg', index=index) xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def MovieIndex2(url, name): ################# Movie Genre Index ################# link = main.OPENURL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '') match = re.findall( '<div class="view_img">.+?<a href="([^"]*?)" class="spec-border-ie" title.+?<img class="img-preview spec-border" src="([^"]*?)" alt="([^"]*?)" style', link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show 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: name = name.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '').replace('\\', '').replace( '\xe2\x80\x99', "'").replace('\xe2\x80\x93', '-').replace('\xe2\x80\x94', '').replace('&-', '-') main.addInfo(name, url, 80, 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 nextpage = re.compile( '<a href="([^"]*?)">»</a></li> </ul> </div> <form method="post"' ).findall(link) for url in nextpage: main.addDir('[COLOR blue]Next Page -> [/COLOR]', url, 13, art + '/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def MoviesIndex(url, name): ################# Movie Index ################# link = main.OPEN_URL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '') match = re.findall( 'src="http://www.thedarewall.com/tv/templates/svarog/timthumb.php[?]src=([^"]*)&w=[^"]*&h=[^"]*&zc=1" alt=" " style=".+?<a class="link" href="([^"]*)" title="([^"]*)">.+?<div class="right"> <div style="float:right;display:block;color:#000;font-size:11px; font-weight: bold;">([^"]*)</div>', link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show 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, rating in match: name = name.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '').replace('\\', '').replace( '\xe2\x80\x99', "'").replace('\xe2\x80\x93', '-').replace('\xe2\x80\x94', '').replace('&-', '-') main.addInfo(name + ' ' + " Rating " + rating, url, 80, thumb, '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Tv Schedule 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( '><a href="([^"]*)">»</a></li> </ul></div><div class="clear">' ).findall(link) for url in nextpage: main.addDir('[COLOR blue]Next Page -> [/COLOR]', url, 1, art + '/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
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 SearchResults(url): link = main.OPEN_URL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '').replace('\xe2\x80\xa6', '...').replace( '–', '-').replace('#038;', '').replace(''', "'") movies = re.compile( 'class="page_title">Movie results(.+?)>Close</a>').findall(link) match = re.compile( '<div class="view_img">.+?<a href="([^"]*?)" class="spec-border-ie" title=.+?<img class="img-preview spec-border show-thumbnail" src="http://www.thedarehub.com/tv/templates/svarog/timthumb.php[?]src=([^"]*?)&w=130&h=190&zc=1" alt.+?<a class="link" href=".+?" title="([^"]*?)">' ).findall(movies[0]) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait while Search is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Search Results 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('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '').replace('\\', '').replace( '\xe2\x80\x99', "'").replace('\xe2\x80\x93', '-').replace( '\xe2\x80\x94', '').replace('&-', '-').replace(''', "'") main.addInfo(name, url, 80, thumb, '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Search Results 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("DELETE").findall(link) for url in nextpage: name = '[COLOR green] Next Page -> [/COLOR]' main.addDir(name, url, 15, '')
def FAVS(): favpath=os.path.join(main.datapath,'Favourites') moviefav=os.path.join(favpath,'Movies') FavFile=os.path.join(moviefav,'Fav') if os.path.exists(FavFile): Favs=re.compile('url="(.+?)",name="(.+?)"').findall(open(FavFile,'r').read()) for url,name in Favs: name=name.replace('-','').replace('&','').replace('acute;','') url=url.replace('(','').replace('[','') if url[0]=='m': url='http://movie25.com/'+url link=main.OPENURL(url) match=re.compile('<div class="movie_pic"><a href="(.+?)" target="_blank">').findall(link) for thumb in match: main.addInfo(name,url,3,thumb,'','') else: xbmc.executebuiltin("XBMC.Notification([B][COLOR green]Mash Up[/COLOR][/B],[B]You Have No Saved Favourites[/B],5000,"")") main.GA("None","Movie25-Fav") xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def SEARCH(url=''): encode = main.updateSearchFile(url, 'Movies') if not encode: return False surl = 'http://www.filmesonlinegratis.net/?s=' + encode + '&s-btn=Buscar' link = main.OPEN_URL(surl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('– ', ' - ') match = re.findall( 'title="([^"]*)">[^"]*</a></h2><divclass="capa"> <ahref="([^"]*)"><imgsrc="http://static.filmesonlinegratis.net/thumb.php[?]src=([^"]*)&w=135&h=185" alt="[^"]*" title="[^"]*" /></a> <spanclass="qualidade">([^"]*)</span>', 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 name, url, thumb, quality in match: #main.addDirb(name+'[COLOR blue] Quality: '+quality+'[/COLOR]',str(url),8,thumb,'') main.addInfo(name + '[COLOR blue] Quality: ' + quality + '[/COLOR]', url, 8, 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 nextpage = re.compile('href="([^"]*)">\xc2\xbb</a>').findall(link) for url in nextpage: main.addDir('Next Page >>', base_url + url, 1, art + '/next.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def MOVIES(url): link = main.OPENURL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.findall( '<div class="item"><a href="([^"]*)"><img alt=".+?" src="([^"]*)" /></a><div class="title"><a title="watch movie([^"]*)".+?<div class="year"> ([^"]*)</div>', 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, date in match: main.addInfo(name + '[COLOR blue] ' + date + '[/COLOR]', base_url + url, 8, 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 nextpage = re.compile( '<a href="([^"]*)" class="next">Next »</a>').findall(link) for url in nextpage: main.addDir('Next Page >>', base_url + url, 1, art + '/next.jpg') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def Episodes(url,name): ################# TV Episodes ################# link=main.OPEN_URL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','') match = re.findall('src="http://www.thedarewall.com/tv/templates/svarog/timthumb.php[?]src=([^"]*)&w=[^"]*&h=[^"]*&zc=1" alt=" " style=.+?<h5 class="left"> <a class="link" href="([^>]*)" title="(.+?)</a>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('">'," ") main.addInfo(name,url,75,thumb,'','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Tv 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 xbmcplugin.setContent(int(sys.argv[1]), 'Tv-Shows')
def Shows(url): link=main.OPENURL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace('&-','-') match = re.findall('<option class="level-0" value=".+?">(.+?)</option>',link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Shows loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]',remaining_display) for name in match: name=name.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','').replace('\xe2\x80\x99',"'").replace('\xe2\x80\x93','-').replace('\xe2\x80\x94','').replace("(US)","-").replace(' ','-').replace('-&-','-').replace('&-','-') url = 'http://www.tvrule.com/category/' + name + '/' print url main.addInfo(name,url,1,'','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Tv Shows 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 Shows(url): link = main.OPENURL(url) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '').replace('\xe2\x80\x99', "'").replace( '\xe2\x80\x93', '-').replace('\xe2\x80\x94', '').replace('&-', '-') match = re.findall('<option class="level-0" value=".+?">(.+?)</option>', link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Tv Shows loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for name in match: name = name.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '').replace('\\', '').replace( '\xe2\x80\x99', "'").replace('\xe2\x80\x93', '-').replace( '\xe2\x80\x94', '').replace("(US)", "-").replace(' ', '-').replace( '-&-', '-').replace('&-', '-') url = 'http://www.tvrule.com/category/' + name + '/' print url main.addInfo(name, url, 1, '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Tv Shows 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(murl): seapath=os.path.join(main.datapath,'Search') SeaFile=os.path.join(seapath,'SearchHistory25') try: os.makedirs(seapath) except: pass if murl == 'm25': keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.movie25.com/search.php?key='+encode+'&submit=' 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: return else: encode = murl surl='http://www.movie25.com/search.php?key='+encode+'&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+'[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 exist = re.findall("<a href='search.php.?page=.+?'>Next</a>",link) if exist: main.addDir('[COLOR blue]Page 2[/COLOR]','http://www.movie25.com/search.php?page=2&key='+encode,9,art+'/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.GA("None","Movie25-Search")
def SEARCH(murl): seapath = os.path.join(main.datapath, 'Search') SeaFile = os.path.join(seapath, 'SearchHistory25') try: os.makedirs(seapath) except: pass if murl == 'm25': keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode = urllib.quote(search) surl = 'http://www.movie25.com/search.php?key=' + encode + '&submit=' 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: return else: encode = murl surl = 'http://www.movie25.com/search.php?key=' + encode + '&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 + '[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 exist = re.findall("<a href='search.php.?page=.+?'>Next</a>", link) if exist: main.addDir('[COLOR blue]Page 2[/COLOR]', 'http://www.movie25.com/search.php?page=2&key=' + encode, 9, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.GA("None", "Movie25-Search")
def NEXTPAGE(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 matchx = re.compile( 'http://www.movie25.com/search.php.+?page=(.+?)&year=(.+?)').findall( murl) if len(matchx) > 0: durl = murl + '/' paginate = re.compile( 'http://www.movie25.com/search.php.+?page=(.+?)&year=(.+?)/' ).findall(durl) for page, yearb in paginate: pgs = int(page) + 1 jurl = 'http://www.movie25.com/search.php?page=' + str( pgs) + '&year=' + str(yearb) main.addDir('[COLOR red]Home[/COLOR]', '', 0, art + '/home.png') 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') exist = re.findall("<a href='search.php.?page=.+?'>Next</a>", link) if exist: main.addDir('[COLOR blue]Page ' + str(pgs) + '[/COLOR]', jurl, 9, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS() else: durl = murl + '/' paginate = re.compile( 'http://www.movie25.com/search.php.+?page=(.+?)&key=(.+?)/' ).findall(durl) for page, search in paginate: pgs = int(page) + 1 jurl = 'http://www.movie25.com/search.php?page=' + str( pgs) + '&key=' + str(search) main.addDir('[COLOR red]Home[/COLOR]', '', 0, art + '/home.png') exist = re.findall("<a href='search.php.?page=.+?'>Next</a>", link) if exist: main.addDir('[COLOR blue]Page ' + str(pgs) + '[/COLOR]', jurl, 9, art + '/next2.png')
def LISTMOVIES(murl): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( '<div class="movie_pic"><a href="(.+?)" ><img src="(.+?)" width=".+?" height=".+?" alt=".+?" /></a></div> <div class=".+?"> <div class=".+?"> <h1><a href=".+?" >(.+?)</a></h1> <div class=".+?">Genre: <a href=".+?" title=\'.+?\'>(.+?)</a>.+?Release:.+?<br/> Views: <span>(.+?)</span>.+?<span>(.+?)</span> votes.+?<div id=".+?">score:<span id=Rate_.+?>(.+?)</span></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, thumb, name, genre, views, votes, rating in match: name = name.replace('-', '').replace('&', '').replace('acute;', '') main.addInfo( name + '[COLOR blue] Views: ' + views + '[/COLOR] [COLOR red]Votes: ' + votes + '[/COLOR] [COLOR green]Rating: ' + rating + '[/COLOR]', url, 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.GA("None", "Movie25-list") paginate = re.compile( 'http://www.movie25.com/movies/.+?/index-(.+?).html').findall(murl) if (len(paginate) == 0): purl = murl + 'index-2.html' r = re.findall( 'Next</a><a href="index-(.+?).html" title="Last" >Last</a>', link) if r: main.addDir('[COLOR red]Enter Page #[/COLOR]', murl, 207, art + '/gotopage.png') exist = re.findall('<a href="index-.+?" class=".+?">Next</a>', link) if exist: main.addDir('[COLOR blue]Page 2[/COLOR]', purl, 1, art + '/next2.png') else: paginate = re.compile( 'http://www.movie25.com/movies/(.+?)/index-(.+?).html').findall( murl) for section, page in paginate: pg = int(page) + 1 xurl = main.Mainurl + str(section) + '/' + 'index-' + str( pg) + '.html' main.addDir('[COLOR red]Home[/COLOR]', '', 2000, art + '/home.png') r = re.findall( 'Next</a><a href="index-(.+?).html" title="Last" >Last</a>', link) if r: main.addDir('[COLOR red]Enter Page #[/COLOR]', murl, 207, art + '/gotopage.png') exist = re.findall('<a href="index-.+?" class=".+?">Next</a>', link) if exist: main.addDir('[COLOR blue]Page ' + str(pg) + '[/COLOR]', xurl, 1, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def Search(url): seapath = os.path.join(main.datapath, 'Search') SeaFile = os.path.join(seapath, 'SearchHistoryTVR') try: os.makedirs(seapath) except: pass if url == 'tvr': keyb = xbmc.Keyboard('', 'Search') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode = urllib.quote(search) surl = 'http://www.tvrule.com/?s=' + 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: return else: encode = url surl = 'http://www.tvrule.com/?s=' + encode link = main.OPENURL(surl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( '<a href="([^>]+)" rel="bookmark">([^>]+)</a></h2>.+?<a href="[^>]+">([^>]+)</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) for url, name, date in match: name = name.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '').replace('\\', '').replace( '\xe2\x80\x99', "'").replace('\xe2\x80\x93', '-').replace('\xe2\x80\x94', '') main.addInfo(name + '[COLOR green] Date: ' + date + '[/COLOR]', url, 75, '', '', '') 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 pagenext = re.findall('<a href="([^>]+)" >« Older Entries</a>', link) for url in pagenext: main.addDir('[COLOR blue]Older Entries -> [/COLOR]', 'http://www.tvrule.com/?s=' + encode, 9, art + '/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def LISTMOVIES(murl, index=False): link = main.OPENURL(murl) result = common.parseDOM(link, "div", attrs={"class": "movie_table"}) result = common.parseDOM(result, "div", attrs={"class": "movie_pic"}) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(result) 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)") print result for item in result: title = common.parseDOM(item, "a", ret="title")[0] url = common.parseDOM(item, "a", ret="href")[0] thumb = common.parseDOM(item, "img", ret="src")[0] title = title.replace('-', '').replace('&', '').replace('acute;', '').strip() title = title.encode('utf-8') if index == 'True': main.addInfo(title, MainUrl + url, 21, thumb, '', '') else: main.addInfo(title, MainUrl + url, constants.MOVIE25_VIDEOLINKS, 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 link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') paginate = common.parseDOM(link, "div", attrs={"class": "count_text"})[0] href = common.parseDOM(paginate, "a", ret="href") content = common.parseDOM(paginate, "a") indx = 0 pageNo = 0 lastPg = 0 pageIndx = 0 for i in content: if i == "Next": pageNo = re.findall('/.+?/(\d+)', href[indx]) if len(pageNo) == 0: pageNo = re.findall("search.php.?page=([^<]+)&year=.+?", href[indx]) href[indx] = "/" + href[indx] pageNo = int(pageNo[0]) pageIndx = indx if i == "Last": lastPg = re.findall('/.+?/(\d+)', href[indx]) if len(lastPg) == 0: lastPg = re.findall("search.php.?page=([^<]+)&year=.+?", href[indx]) href[indx] = "/" + href[indx] if len(lastPg) > 0: lastPg = int(lastPg[0]) else: lastPg = 0 indx = indx + 1 searchPage = re.findall("search.php.?page=([^<]+)&year=.+?", href[pageIndx]) if not len(searchPage) > 0 and lastPg > 0: main.addDir('[COLOR red]Enter Page #[/COLOR]', murl, constants.MOVIE25_GOTOPAGE, art + '/gotopage.png', index=index) if lastPg > 0: main.addDir('[COLOR blue]Page ' + str(pageNo) + ' of ' + str(lastPg) + '[/COLOR]', MainUrl + href[pageIndx], constants.MOVIE25_LISTMOVIES, art + '/next.png', index=index) elif pageNo <> lastPg: main.addDir('[COLOR blue]Page ' + str(pageNo) + '[/COLOR]', MainUrl + href[pageIndx], constants.MOVIE25_LISTMOVIES, art + '/next.png', index=index) xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def NEXTPAGE(murl, index=False): 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 href=".+?" target=".+?">(.+?)</a></h1><div class=".+?">Genre: <a href=".+?" target=\'.+?\'>(.+?)</a>.+?Release:.+?<br/>Views: <span>(.+?)</span>.+?id=RateCount_.+?>(.+?)</span> votes.*?<li class="current-rating" style="width:(\d+?)px' ).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 = MainUrl + url if index == "True": main.addInfo( name + "[COLOR blue] Views: " + views + "[/COLOR] [COLOR red]Votes: " + votes + "[/COLOR] [COLOR green]Rating: " + rating + "/100[/COLOR]", furl, 21, thumb, genre, "", ) else: main.addInfo( name + "[COLOR blue] Views: " + views + "[/COLOR] [COLOR red]Votes: " + votes + "[/COLOR] [COLOR green]Rating: " + rating + "/100[/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 matchx = re.compile("http://www.movie25.so/search.php.+?page=(.+?)&year=(.+?)").findall(murl) if len(matchx) > 0: durl = murl + "/" paginate = re.compile("http://www.movie25.so/search.php.+?page=(.+?)&year=(.+?)/").findall(durl) for page, yearb in paginate: pgs = int(page) + 1 jurl = "http://www.movie25.so/search.php?page=" + str(pgs) + "&year=" + str(yearb) # main.addDir('[COLOR red]Home[/COLOR]','',0,art+'/home.png') 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", index=index) main.addDir( "[COLOR blue]Page " + str(page) + " of " + r[0] + "[/COLOR]", jurl, 9, art + "/next2.png", index=index ) else: main.addDir("[COLOR blue]Page " + str(page) + "[/COLOR]", jurl, 9, art + "/next2.png", index=index) xbmcplugin.setContent(int(sys.argv[1]), "Movies") main.VIEWS() else: durl = murl + "/" paginate = re.compile("http://www.movie25.so/search.php.+?page=(.+?)&key=(.+?)/").findall(durl) for page, search in paginate: pgs = int(page) + 1 jurl = "http://www.movie25.so/search.php?page=" + str(pgs) + "&key=" + str(search) # main.addDir('[COLOR red]Home[/COLOR]','',0,art+'/home.png') r = re.findall(""">Next</a><a href='search.php.?page=([^<]+)&key=.+?'>Last</a>""", link) if r: main.addDir( "[COLOR blue]Page " + str(page) + " of " + r[0] + "[/COLOR]", jurl, 9, art + "/next2.png", index=index ) else: main.addDir("[COLOR blue]Page " + str(page) + "[/COLOR]", jurl, 9, art + "/next2.png", index=index)