def LIST(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('(?sim)<img src="([^"]+?)" alt="([^"]+?)" /></div>.+?<a href="([^"]+?)"><span>views</span>(.+?)</a>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for thumb,name,url,views in match: main.addPlayM(name+' [COLOR red]('+views+')[/COLOR]',url,436,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile('Total Pages: (.+?)</li>',re.DOTALL).findall(link) if paginate: paginate=paginate[0] main.addDir('[COLOR red]Enter Page #[/COLOR]',murl,437,art+'/gotopage.png') page = re.compile('/page/(\d+)/',re.DOTALL).findall(murl)[0] nextpage=int(page)+1 finalpage=re.sub('page/\d+?/', 'page/'+str(nextpage) + '/',murl) main.addDir('Page ' + str(page) + ' [COLOR blue]Next Page >>>[/COLOR]',finalpage,435,art+'/next2.png') main.GA(prettyName,"List") main.VIEWS()
def MAIN(murl): if 'TV' in murl: main.addDir('Movies','MOVIES',451,art+'/shush.png') link=main.OPENURL('http://www.shush.se/index.php?shows') link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('»','') match=re.compile('(?sim)class="shows"><a href="([^"]+)"><img src="([^"]+)" alt="Watch (.+?) online').findall(link) for url,thumb,name in match: main.addDirT(name.title(),'http://www.shush.se/'+url,452,thumb,'','','','','') else: main.addDir('TV','TV',451,art+'/shush.png') link=main.OPENURL('http://www.shush.se/index.php?movies') link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('»','') match=re.compile('(?sim)class="shows"><a href="([^"]+)"><img src="([^"]+)" alt="([^"]+)" title=').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for url,thumb,name in match: main.addPlayM(name.title(),'http://www.shush.se/'+url,453,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def LISTFMA(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<img class=\'.+?\' src=\'(.+?)\' alt=\'.+?\' />.+?<a class=\'.+?\' href=\'/(.+?)\'>(.+?)</a>.+?<a href=\'/movies/year/.+?\'>(.+?)</a>.+?<a href=\'/movies/genre/.+?\'>(.+?)</a>.+?</span><span class=".+?">(.+?)</span>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name, year, gen, desc in match: main.addPlayM(name,'http://www.freemoviesaddict.com/'+url,569,thumb,desc,'','',gen,year) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile('<span class="pagination_next"><a class="pagination_link" href="(.+?)">').findall(link) if len(paginate)>0: main.addDir('Next','http://www.freemoviesaddict.com/'+paginate[0],568,art+'/next2.png') main.GA("FMA","list") xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def LIST(murl): main.addLink('[COLOR red]Not the best source, but some links work in HSBS[/COLOR]','mess',art+'/link.png') main.addLink('[COLOR red]Try to avoid the same Hosts that are in groups of 4, possible rar files[/COLOR]','mess',art+'/link.png') link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') link=main.unescapes(link) match=re.compile('''entry-title'><a href='(.+?)'>.+?<img alt="(.+?)" src="(.+?)"''').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,name,thumb in match: name=name.replace('Download ','').replace('" height="400','') main.addPlayM(name,url,225,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate=re.compile("""<a class='blog-pager-older-link' href='(.+?)' id='.+?' title='.+?'>Next.+?</a>""").findall(link) if (len(paginate)>0): for purl in paginate: main.addDir('[COLOR blue]Next[/COLOR]',purl,224,art+'/next2.png')
def LISTSCEPER(name,murl): link=main.OPENURL(murl, timeout = 10,cookie="sceper") if "setCookie(" in link: import time from cookielib import Cookie cookieList = [] t = time.time() + 259200 c = Cookie(version=False, name='hasVisitedSite', value='Yes', port=None, port_specified=False, domain='', domain_specified=False, domain_initial_dot=False, path='/', path_specified=True, secure=False, expires=t, discard=True, comment=None, comment_url=None, rest={}, rfc2109=False) cookieList.append(c) link=main.OPENURL(murl, timeout = 10,cookie="sceper",setCookie=cookieList) i=0 audiolist=[] desclist=[] genrelist=[] link=link.replace('\xc2\xa0','').replace('\n','') audio=re.compile('>Audio:</.+?>([^<]+?)<').findall(link) if len(audio)>0: for aud in audio: audiolist.append(aud) else: audiolist.append('Audio Unknown') descr=re.compile('>Release Description</div><p>([^<]+?)</p>').findall(link) if len(descr)>0: for desc in descr: desc=desc.replace('</span><span style="font-family: arial"> ','').replace('<span style="color: #ff0000;">','').replace('</span>','') desclist.append(desc) else: desclist.append('Description Unavailable') genre=re.compile('>Genre:</span>([^<]+?)<br').findall(link) if len(genre)>0: for gen in genre: gen=gen.replace('</span><span style="font-family: arial"> ','').replace('<span style="color: #ff0000;">','').replace('</span>','') genrelist.append(gen) else: genrelist.append('Genre Unknown') match=re.compile('<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class="[^"]+?">\t\t\t\t<div class="[^"]+?">Release Info</div><p><a href="([^"]+?)"').findall(link) if match: main.addDir('Search','s',543,art+'/search.png') dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,name,thumb in match: if len(audiolist)<8: audiolist.append('Audio Unknown') if len(desclist)<8: desclist.append('Description Unavailable') if len(genrelist)<8: genrelist.append('Genre Unknown') sname=name data=re.findall('([^<]+)\s\(?(\d{4})\)?\s([^<]+)',sname) for title,date,quality in data: sname = processTitle(title,quality) name=title+' ('+date+') '+sname main.addPlayM(name.strip()+' [COLOR blue]'+audiolist[i].strip()+'[/COLOR]',url,544,thumb,desclist[i],'','',genrelist[i],'') i=i+1 loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile('<a class="nextpostslink" rel="next" href="([^"]+)">').findall(link) if paginate and loadedLinks >= totalLinks: main.addDir('Next',paginate[0],541,art+'/next2.png') main.VIEWS()
def LISTSP(murl): #urllist=main.OPENURL('http://oneclickwatch.org/category/movies/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/2/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/3/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/4/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/5/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/6/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/7/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/8/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/9/')+main.OPENURL('http://oneclickwatch.org/category/movies/page/10/') urllist=main.batchOPENURL(('http://oneclickwatch.org/category/movies/','http://oneclickwatch.org/category/movies/page/2/','http://oneclickwatch.org/category/movies/page/3/','http://oneclickwatch.org/category/movies/page/4/','http://oneclickwatch.org/category/movies/page/5/','http://oneclickwatch.org/category/movies/page/6/','http://oneclickwatch.org/category/movies/page/7/','http://oneclickwatch.org/category/movies/page/8/','http://oneclickwatch.org/category/movies/page/9/','http://oneclickwatch.org/category/movies/page/10/')) if urllist: urllist=main.unescapes(urllist) match=re.compile('<a href="([^<]+)" title=".+?".+? src="(.+?)" .+?/><br />(.+?)<br />').findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name in match: name=name.replace('<strong>','').replace('</strong>','') main.addPlayM(name,url,135,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 main.CloseAllDialogs() main.GA("HD","Oneclickwatch")
def LISTEXrecent(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\xc2\xa0','') match=re.compile("""<h3 class='post-title entry-title'><a href='([^<]+)'>(.+?)</a>.+?src="(.+?)".+?""",re.DOTALL).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url, name,thumb in match: main.addPlayM(name,url,536,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile("<a class='blog-pager-older-link' href='(.+?)' id='.+?' title='Next Movie Page'>Next Page.+?</a>").findall(link) if len(paginate)>0 and len(match) == 20: main.addDir('Next',paginate[0],532,art+'/next2.png') main.GA("Watching Now","Recent")
def LISTSP3(murl): if murl == 'HD': url='http://www.dailyflix.net/index.php?/forum/196-hd-movies-2012-2013/page__sort_key__last_post__sort_by__Z-A' link=main.OPENURL(url) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('&','&') match=re.compile('<a itemprop=".+?" id=".+?" href="([^<]+)" title=.+? class=.+?><span itemprop="name">(.+?)</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, name in match: name=main.unescapes(name) main.addPlayM(name,url,54,'','','','','','') 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("HD-TV","Dailyfix") main.VIEWS()
def LISTINT(murl): html = main.OPENURL(murl) link=main.unescapes(html) match = re.compile('<a class="movie-cover-wrapper" href="(.+?)"><img src="(.+?)" alt="(.+?)"').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name in match: url=url.replace('../movies/','') thumb=thumb.replace('../movies/','') name = name.replace('movie online','').replace('tamil','').replace('hindi','').replace('telugu','').replace('malayalam','') main.addPlayM(name,MainMovie+url,38,MainMovie+thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile('<a class="numerical-nav-selected" href=".+?">.+?</a><a href="([^<]+)">.+?</a>').findall(link) if len(paginate)>0: if 'movies' in murl: main.addDir('[COLOR blue]Next Page >>>[/COLOR]',MainUrl+'/movies/index.php'+paginate[0],42,art+'/next2.png') else: main.addDir('[COLOR blue]Next Page >>>[/COLOR]',MainUrl+'/bluray/index.php'+paginate[0],42,art+'/next2.png') main.GA("einthusian","List")
def LISTMov(murl): link = main.OPENURL(murl) link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "").replace("»", "") match = re.compile( """<td width=".+?" valign=".+?" style=".+?<a href="([^<]+)"><img src="(.+?)".+?title="(.+?)" alt=".+?".+?</ul>(.+?)</div>""", re.DOTALL, ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until Movie list is cached.") totalLinks = len(match) loadedLinks = 0 remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display) for url, thumb, name, desc in match: name = main.unescapes(name) main.addPlayM(name, url, 338, thumb, desc, "", "", "", "") loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display) if dialogWait.iscanceled(): return False dialogWait.close() del dialogWait paginate = re.compile("""<a class="xo-pagarrow" href="([^<]+)"><u></u>""").findall(link) if len(paginate) > 0: main.addDir("Next", MAINURL + paginate[0], 341, art + "/next2.png") main.GA("Aflam1", "List")
def LISTMov(murl): link = aflamOPENURL(murl) link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "").replace("»", "") match = re.compile("""<a href="([^"]+)"><img src="([^"]+)" class=".+?alt="([^"]+)" />""", re.DOTALL).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until Movie list is cached.") totalLinks = len(match) loadedLinks = 0 remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display) for url, thumb, name in match: name = main.unescapes(name) main.addPlayM(name, url, 338, thumb, "", "", "", "", "") loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display) if dialogWait.iscanceled(): return False dialogWait.close() del dialogWait paginate = re.compile("""<a class="nextpostslink" href="([^"]+)">»</a>""").findall(link) if len(paginate) > 0: main.addDir("Next", paginate[0], 341, art + "/next2.png") main.GA("Aflam1", "List")
def LIST(murl): link = main.OPENURL(murl) link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "") match = re.compile( '(?sim)<img src="([^"]+?)" alt="([^"]+?)" /></div>.+?<a href="([^"]+?)"><span>views</span>(.+?)</a>' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until Movie list is cached.") totalLinks = len(match) loadedLinks = 0 remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for thumb, name, url, views in match: main.addPlayM(name + " [COLOR red](" + views + ")[/COLOR]", url, 436, thumb, "", "", "", "", "") loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile("Total Pages: (.+?)</li>", re.DOTALL).findall(link) if paginate: paginate = paginate[0] main.addDir("[COLOR red]Enter Page #[/COLOR]", murl, 437, art + "/gotopage.png") page = re.compile("/page/(\d+)/", re.DOTALL).findall(murl)[0] nextpage = int(page) + 1 finalpage = re.sub("page/\d+?/", "page/" + str(nextpage) + "/", murl) main.addDir("Page " + str(page) + " [COLOR blue]Next Page >>>[/COLOR]", finalpage, 435, art + "/next2.png") main.GA(prettyName, "List") main.VIEWS()
def LISTTV2(murl): xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,7000)") if murl=='movintv': main.addDir('Search Movie1k','www.movie1k.org',132,art+'/search.png') urllist=main.OPENURL('http://www.movie1k.net/category/tv-show/')+main.OPENURL('http://www.movie1k.net/category/tv-show/page/2/')+main.OPENURL('http://www.movie1k.net/category/tv-show/page/3/')+main.OPENURL('http://www.movie1k.net/category/tv-show/page/4/')+main.OPENURL('http://www.movie1k.net/category/tv-show/page/5/') elif murl=='movin': urllist=main.OPENURL('http://www.movie1k.net/category/hindi-movies/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/2/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/3/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/4/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/5/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/6/')+main.OPENURL('http://www.movie1k.net/category/hindi-movies/page/7/') elif murl=='movindub': urllist=main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/2/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/3/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/4/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/5/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/6/')+main.OPENURL('http://www.movie1k.net/category/hindi-dubbed-movies/page/7/') murl=murl if urllist: match=re.compile('href="(.+?)"><img width=".+?" height=".+?" style=".+?" data-cfsrc="(.+?)" class=".+?" alt=".+?" title="(.+?)"/>').findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name in match: name=name.replace('\xc2\xa0','').replace('" ','').replace(' "','').replace('"','').replace("'","'").replace("&","and").replace("’","'").replace("amp;","and").replace("#8211;","-") if murl=='movintv': main.addPlayTE(name,url,31,thumb,'','','','','') else: main.addPlayM(name,url,31,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies/Episodes :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("TV-INT","Movie1k")
def LISTMOVIES(murl): main.GA(prettyName,"List") link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\\','') match=re.compile('''<a href="([^<]+)" rel="bookmark" title=".+?">(.+?)</a></h2><div.+?<img.+?src="(.+?)".*?http://www.imdb.com/title/([t\d]+?)[/"']''',re.DOTALL).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for url,name,thumb,imdb in match: name=main.CleanTitle(name) if re.findall('\ss(\d+)\s',name,re.I): main.addPlayT(name,url,390,thumb,'','','','','') else: main.addPlayM(name,url,390,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile('<a class="nextpostslink"[^>]+?href="([^"]+)"').findall(link) if paginate and loadedLinks >= totalLinks: main.addDir('Next',paginate[0],389,art+'/next2.png') main.VIEWS()
def LISTINT(name,url): main.addDir('Search','TV',419,art+'/search.png') urllist=[] page = 1 while page < 15 : urllist.append('http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page='+str(page)) page += 1 if urllist: html = main.batchOPENURL(urllist) urllist=main.unescapes(html) match = re.compile('<a class="movie-cover-wrapper" href="(.+?)"><img src="(.+?)" alt="(.+?)"').findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name in match: url=url.replace('../movies/','') thumb=thumb.replace('../movies/','') name = name.replace('hindi movie online','') main.addPlayM(name,MainUrl+url,38,MainUrl+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 main.GA("INT","Einthusan")
def LISTINT(name,url): MainUrl = "http://www.einthusan.com/movies/" xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,5000)") urllist=main.OPENURL('http://www.einthusan.com/movies/index.php?lang=hindi')+main.OPENURL('http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=2')+main.OPENURL('http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=3')+main.OPENURL( 'http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=4')+main.OPENURL('http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=5')+main.OPENURL( 'http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=6')+main.OPENURL('http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=7')+main.OPENURL( 'http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=8')+main.OPENURL('http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=9')+main.OPENURL('http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=10')+main.OPENURL('http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=11') if urllist: match = re.compile('<a class="movie-cover-wrapper" href="(.+?)"><img src="(.+?)" alt="(.+?)"').findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name in match: url=url.replace('../movies/','') thumb=thumb.replace('../movies/','') name = name.replace('hindi movie online','') main.addPlayM(name,MainUrl+url,38,MainUrl+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 main.GA("INT","Einthusan")
def LISTEXgenre(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\xc2\xa0','') match=re.compile('<a itemprop="url" href="(.+?)" rel=".+?" title="Permanent Link to (.+?)"><img itemprop="thumbnailUrl" alt=".+?" class="smallposter" src="(.+?)"></a>.+?<span itemprop="description">(.+?)</span>').findall(link) if len(match)==0: match = re.compile('<h1 class="post-title"><a href="([^<]+)" rel=".+?" title=".+?">([^<]+)</a></h1><img style=.+? src="(.+?)">(.+?)<div').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url, name, thumb,desc in match: main.addPlayM(name,url,536,thumb,desc,'','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile("<a href='([^<]+)' class='nextpostslink'>»</a>").findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],531,art+'/next2.png') main.GA("Extramina","Recent")
def LISTFX(): urllist=[] page = 1 while page < 11 : urllist.append('http://estrenosvk.com/ano/2014/'+str(page)+'/') page += 1 if urllist: html = main.batchOPENURL(urllist) urllist=main.unescapes(html) match=re.compile('<a href="([^"]+)"><figure><img src="([^"]+)" alt="([^"]+)">',re.DOTALL).findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name in match: name=name.decode('latin-1') name=name.encode('utf-8') main.addPlayM(name,'http://estrenosvk.com/'+url,309,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def LISTSCEPER(name,murl): main.GA("Sceper","List") link=main.OPENURL(murl) i=0 audiolist=[] desclist=[] genrelist=[] link=link.replace('\xc2\xa0','').replace('\n','') audio=re.compile('>Audio:</.+?>(.+?)<b').findall(link) if len(audio)>0: for aud in audio: aud=aud.replace('</span><span style="font-family: arial"> ','').replace('<span style="color: #ff0000;">','').replace('</span>','').replace('<span style="color: #ff9900">','').replace('<span style="color: #ff6600">','').replace('<span style="color: #ff0000">','').replace('</span><span style="font-family: arial">','').replace('<span style="font-family: arial">','').replace('<span style="font-family: arial;">','') audiolist.append(aud) else: audiolist.append('Audio Unknown') descr=re.compile('>Release Description</div><p>(.+?)</p>').findall(link) if len(descr)>0: for desc in descr: desc=desc.replace('</span><span style="font-family: arial"> ','').replace('<span style="color: #ff0000;">','').replace('</span>','') desclist.append(desc) else: desclist.append('Description Unavailable') genre=re.compile('>Genre:</span>(.+?)<br').findall(link) if len(genre)>0: for gen in genre: gen=gen.replace('</span><span style="font-family: arial"> ','').replace('<span style="color: #ff0000;">','').replace('</span>','') genrelist.append(gen) else: genrelist.append('Genre Unknown') match=re.compile('<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class=".+?">\t\t\t\t<div class=".+?">Release Info</div><p><a href="(.+?)"').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,name,thumb in match: if len(audiolist)<8: audiolist.append('Audio Unknown') if len(desclist)<8: desclist.append('Description Unavailable') if len(genrelist)<8: genrelist.append('Genre Unknown') main.addPlayM(name+' [COLOR red]'+audiolist[i]+'[/COLOR]',url,544,thumb,desclist[i],'','',genrelist[i],'') i=i+1 loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile('<a href=\'([^<]+)\' class=\'nextpostslink\'>').findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],541,art+'/next2.png')
def SEARCHM(murl): seapath=os.path.join(main.datapath,'Search') SeaFile=os.path.join(seapath,'SearchHistory25') try: os.makedirs(seapath) except: pass if murl == 'ws': keyb = xbmc.Keyboard('', 'Search For Shows or Episodes') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) if not os.path.exists(SeaFile) and encode != '': open(SeaFile,'w').write('search="%s",'%encode) else: if encode != '': open(SeaFile,'a').write('search="%s",'%encode) searchis=re.compile('search="(.+?)",').findall(open(SeaFile,'r').read()) for seahis in reversed(searchis): continue if len(searchis)>=10: searchis.remove(searchis[0]) os.remove(SeaFile) for seahis in searchis: try: open(SeaFile,'a').write('search="%s",'%seahis) except: pass else: encode = murl from t0mm0.common.net import Net net = Net() search_url = 'http://www.freemoviesaddict.com/search' search_content = net.http_POST(search_url, { 'search_term' : encode} ).content r=main.unescapes(search_content) match=re.compile('<img class=\'.+?\' src=\'(.+?)\' alt=\'.+?\' />.+?<a class=\'.+?\' href=\'/(.+?)\'>(.+?)</a>.+?<a href=\'/movies/year/.+?\'>(.+?)</a>.+?<a href=\'/movies/genre/.+?\'>(.+?)</a>.+?</span><span class=".+?">(.+?)</span>').findall(r) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name, year, gen, desc in match: main.addPlayM(name,'http://www.freemoviesaddict.com/'+url,569,thumb,desc,'','',gen,year) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("FMA","Search")
def Search(mname,murl): encode = main.updateSearchFile(mname,'Movies','Search') if not encode: return False surl='http://www.filestube.com/query.html?q=1080p+bluray+-esubs&hosting=25%2C40%2C85&select=mkv&sizefrom=5000&sizeto=20000&sort=dd' link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile(pattern).findall(link) if match: for url,thumb,name in match: if not re.findall('HDTV',name): main.addPlayM(name,url,406,thumb,'','','','','')
def SEARCHEXTRA(murl): seapath=os.path.join(main.datapath,'Search') SeaFile=os.path.join(seapath,'SearchHistory25') try: os.makedirs(seapath) except: pass if murl == 'extra': keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.extraminamovies.in/?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: encode = murl surl='http://www.extraminamovies.in/?s='+encode link=main.OPENURL(surl) link=link.replace('\xc2\xa0','').replace('\n','') match = re.compile('<a href="([^<]+)" rel=".+?" title=".+?">(.+?)</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 in match: main.addPlayM(name,url,536,'','','','','','') 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("Extramina","Search")
def SEARCHSCEPER(murl = ''): encode = main.updateSearchFile(murl,'Movies',searchMsg='Search For Movies or TV Shows') if not encode: return False surl='http://sceper.ws/search/'+encode+'/' link=main.OPENURL(surl,cookie="sceper") i=0 link=link.replace('\xc2\xa0','').replace('\n','') match=re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url,name in match: name=main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s',name,re.I): main.addPlayTE(name,url,544,'','','','','','') else: main.addPlayM(name,url,544,'','','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def LIST(murl,subp = False): global subpages if subp: subpages = subp parts = murl.partition('%%%') murl = parts[0] page = re.search('(?i)page\/(\d+?)\/',murl) if page: page = int(page.group(1)) else: page = 1 max = page * subpages if parts[-1]: parts = parts[-1].partition('$$$') max = int(parts[0]) if parts[-1]: subpages = int(parts[-1]) urls = [] for n in range(subpages): if page + n > max: break if re.search('[^\d]\/$',murl): urls.append(murl + 'page/'+str(page + n) + '/') elif re.search('movies\/\?',murl): urls.append(murl.replace('movies/?', 'movies/page/'+str(page + n) + '/?')) else: urls.append(re.sub('page\/\d+?\/', 'page/'+str(page + n) + '/',murl)) link=main.batchOPENURL(urls).replace('\\/','/') link=link.replace('\r','').replace('\n','').replace('\t','') match=re.compile('{"ID":.+?,"title":"(.*?)","link":"(.*?)","post_content":"(.*?)","image":"(.*?)","slidercap":"(.*?)","year":"(.*?)","genre":"(.*?)","director":".+?}',re.DOTALL).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for name,url,desc,thumb,fan,year,genre in match: main.addPlayM(name+' [COLOR red]('+year+')[/COLOR]',url,423,thumb,desc,fan,'',genre,year) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile('''<a class="nextpostslink" href="([^<]+)">.+?</a>''',re.DOTALL).findall(link) if len(paginate) == subpages and loadedLinks >= totalLinks: last = re.search('(?i)<a class="last" href="[^"]+?/page/(\d+)/[^"]*?">Last',link) if last: last = int(last.group(1)) else: last = re.findall('(?i)<a class="page larger" href="[^"]+?/page/(\d+)/[^"]*?">',link) if last: last = int(last[-1]) else: last = page + subpages main.addDir('[COLOR red]Enter Page #[/COLOR]',paginate[0]+'%%%'+str(subpages),427,art+'/gotopage.png') main.addDir('Page ' + str(page/subpages+1) + ' [COLOR blue]Next Page >>>[/COLOR]',re.sub('page\/\d+?\/', 'page/'+str(page+subpages)+'/',paginate[0])+'%%%'+str(last)+'$$$'+str(subpages),422,art+'/next2.png') main.GA("Yify","List") main.VIEWS()
def SEARCHSCENE(encode): if encode=='sec': encode = main.updateSearchFile('','Movies',searchMsg='Search For Movies or TV Shows') if not encode: return False surl='http://www.scenesource.me/?s='+encode+'&x=0&y=0' link=main.OPENURL(surl,mobile=True) i=0 link=link.replace('\xc2\xa0','').replace('\n','') match=re.compile('<a href="([^<]+)" rel="bookmark" title=".+?>([^<]+)</a></h2>').findall(link) for url,name in match: name=main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s',name,re.I): main.addPlayTE(name,url,390,'','','','','','') else: main.addPlayM(name,url,390,'','','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCHEIN(): keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.einthusan.com/movies/index.php?lang=hindi&search='+encode link=main.OPENURL(surl) match = re.compile('<a class="movie-cover-wrapper" href="(.+?)"><img src="(.+?)" alt="(.+?)"').findall(link) for url,thumb,name in match: url=url.replace('../movies/','') thumb=thumb.replace('../movies/','') name = name.replace('hindi movie online','') main.addPlayM(name,MainUrl+url,38,MainUrl+thumb,'','','','','')
def LISTSP3(murl): subpages = 5 if murl == 'HD': page = 1 max = subpages else: try: pages = murl.split(',', 1 ); page = int(pages[0]) max = int(pages[1]) except: page = 1 url='http://dl4free.me/forumdisplay.php?fid=42' urls = [] for n in range(subpages): urls.append(url+"&page="+str(page+n)) if page+n == max: break page = page + subpages - 1 link=main.batchOPENURL(urls) if re.compile('class="pagination_last">(\d+?)</a>').findall(link): max = int(re.compile('class="pagination_last">(\d+?)</a>').findall(link)[0]) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('&','&') match=re.compile('(?sim)<a href="([^"]+?)" class="[^"]+?" id="[^"]+?">([^<]+?)</a></span>\s*?<div class="author smalltext"><a href="[^"]+?">(wroser|BollyCorner)</a></div>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url, name, user in match: url = url.decode('utf-8').encode('ascii', 'ignore') url = 'http://dl4free.me/' + url name=main.unescapes(name) if not re.search('(?i)avc',name) and re.search('(?i)1080p?',name): main.addPlayM(name,url,408,'','','','','','') loadedLinks = loadedLinks + 1 else: totalLinks -= 1 try: percent = (loadedLinks * 100)/totalLinks except: percent = 100 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 if page < max: main.addDir('Page ' + str(page/subpages) + ' [COLOR blue]Next Page >>>[/COLOR]',str(page+1)+','+str(max),407,art+'/next2.png') dialogWait.close() del dialogWait #main.GA("HD-TV","DL4Free") main.VIEWS()
def LISTSP3(murl): subpages = 5 if murl == 'HD': page = 1 max = 100 else: try: pages = murl.split(',', 1 ); page = int(pages[0]) max = int(pages[1]) except: page = 1 # http://www.filestube.to/query.html?q=1080p+bluray+-esubs+-msubs+-subs&hosting=85&select=mkv&sizefrom=6000&sizeto=20000&sort=dd&page=1 url='http://www.filestube.to/query.html?q=1080p+bluray+-esubs&hosting=85&select=mkv&sizefrom=6000&sizeto=20000&sort=dd' urls = [] for n in range(subpages): urls.append(url+"&page="+str(page+n)) if page+n == max: break page = page + subpages - 1 link=main.batchOPENURL(urls) # print link next = len(re.compile('rel="nofollow next">Next</a>').findall(link)) == subpages link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('&','&') match=re.compile('(?sim)<a href="([^"]+?)"[^>]*?class="resultsLink"[^>]*?>(.+?)</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 in match: url = url.decode('utf-8').encode('ascii', 'ignore') url = 'http://www.filestube.to' + url name = name.replace('<b>','').replace('</b>','') name=main.unescapes(name) if not re.search('(?i)(\\bsubs\\b|\\msubs\\b|fetish)',name) and re.search('(?i)(20\d\d|19\d\d)',name): main.addPlayM(name,url,406,'','','','','','') loadedLinks = loadedLinks + 1 else: totalLinks -= 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 if next: main.addDir('Page ' + str(page/subpages) + ' [COLOR blue]Next Page >>>[/COLOR]',str(page+1)+','+str(max),405,art+'/next2.png') dialogWait.close() del dialogWait main.GA("HD-TV","FilesTube") main.VIEWS()
def LISTSP3(murl): subpages = 3 if murl == 'HD': page = 1 max = subpages else: try: pages = murl.split(',', 1 ); page = int(pages[0]) max = int(pages[1]) except: page = 1 url='http://rls1click.com/category/movies/1080p/' urls = [] for n in range(subpages): if page+n == 1: urls.append(url) else: urls.append(url+"page/"+str(page+n)+"/") if page+n == max: break page = page + subpages - 1 link=main.batchOPENURL(urls) if re.compile('"maxPages":"(\d+?)"').findall(link): max = int(re.compile('"maxPages":"(\d+?)"').findall(link)[0]) # link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('&','&') match=re.compile('(?sim)<h1 class="post-title"><a href="([^"]+?)">([^<]+?)<.*?<img[^>]+?src="([^"]+?)"').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url, title, thumb in match: url = url.decode('utf-8').encode('ascii', 'ignore') main.addPlayM(title,url,408,thumb,'','','','','') loadedLinks = loadedLinks + 1 try: percent = (loadedLinks * 100)/totalLinks except: percent = 100 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): break if page < max and loadedLinks >= totalLinks: main.addDir('Page ' + str(page/subpages) + ' [COLOR blue]Next Page >>>[/COLOR]',str(page+1)+','+str(max),407,art+'/next2.png') dialogWait.close() del dialogWait main.GA("HD-TV","Rls1Click") main.VIEWS()
def SEARCHAFLAM(): keyb = xbmc.Keyboard('', 'Search Movies & Shows') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.aflam1.com/?s='+encode link=aflamOPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('»','') match=re.compile("""<a href="([^"]+)" rel=".+?<img width=.+?src="([^"]+)" class=".+?alt="([^"]+)" />""",re.DOTALL).findall(link) for url,thumb,name in match: if '%d8%a3%d9%81%d9%84%d8%a7%d9%85'in url: main.addPlayM(name,url,338,thumb,'','','','','') else: main.addDir(name,url,337,thumb)
def LISTINT(name, url): main.addDir('Search', 'TV', 419, art + '/search.png') urllist = [] page = 1 while page < 15: urllist.append( 'http://www.einthusan.com/movies/index.php?lang=hindi&organize=Activity&filtered=RecentlyPosted&org_type=Activity&page=' + str(page)) page += 1 if urllist: html = main.batchOPENURL(urllist) urllist = main.unescapes(html) match = re.compile( '<a class="movie-cover-wrapper" href="(.+?)"><img src="(.+?)" alt="(.+?)"' ).findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, name in match: url = url.replace('../movies/', '') thumb = thumb.replace('../movies/', '') name = name.replace('hindi movie online', '') main.addPlayM(name, MainUrl + url, 38, MainUrl + 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 main.GA("INT", "Einthusan")
def SEARCHEIN(url): keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode = urllib.quote(search) langID = re.findall('lang=(.+?)&', url)[0] surl = 'http://www.einthusan.com/movies/index.php?lang=' + langID + '&search=' + encode link = main.OPENURL(surl) match = re.compile( '<a class="movie-cover-wrapper" href="(.+?)"><img src="(.+?)" alt="(.+?)"' ).findall(link) for url, thumb, name in match: url = url.replace('../movies/', '') thumb = thumb.replace('../movies/', '') name = name.replace('movie online', '').replace('tamil', '').replace('hindi', '').replace( 'telugu', '').replace('malayalam', '') main.addPlayM(name, MainMovie + url, 38, MainMovie + thumb, '', '', '', '', '')
def LISTFMA(murl): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( '<img class=\'.+?\' src=\'(.+?)\' alt=\'.+?\' />.+?<a class=\'.+?\' href=\'/(.+?)\'>(.+?)</a>.+?<a href=\'/movies/year/.+?\'>(.+?)</a>.+?<a href=\'/movies/genre/.+?\'>(.+?)</a>.+?</span><span class=".+?">(.+?)</span>' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for thumb, url, name, year, gen, desc in match: main.addPlayM(name, 'http://www.freemoviesaddict.com/' + url, 569, thumb, desc, '', '', gen, year) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile( '<span class="pagination_next"><a class="pagination_link" href="(.+?)">' ).findall(link) if len(paginate) > 0: main.addDir('Next', 'http://www.freemoviesaddict.com/' + paginate[0], 568, art + '/next2.png') main.GA("FMA", "list") xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def LISTMOVIES(murl): main.GA(prettyName, "List") link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\\', '') match = re.compile( '''<a href="([^<]+)" rel="bookmark" title=".+?">(.+?)</a></h2><div.+?<img.+?src="(.+?)".*?http://www.imdb.com/title/([t\d]+?)[/"']''', re.DOTALL).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for url, name, thumb, imdb in match: name = main.CleanTitle(name) if re.findall('\ss(\d+)\s', name, re.I): main.addPlayT(name, url, 390, thumb, '', '', '', '', '') else: main.addPlayM(name, url, 390, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile( '<a class="nextpostslink"[^>]+?href="([^"]+)"').findall(link) if paginate and loadedLinks >= totalLinks: main.addDir('Next', paginate[0], 389, art + '/next2.png') main.VIEWS()
def LISTFX(): urllist = [] page = 1 while page < 11: urllist.append('http://estrenosvk.com/ano/2014/' + str(page) + '/') page += 1 if urllist: html = main.batchOPENURL(urllist) urllist = main.unescapes(html) match = re.compile( '<a href="([^"]+)"><figure><img src="([^"]+)" alt="([^"]+)">', re.DOTALL).findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, name in match: name = name.decode('latin-1') name = name.encode('utf-8') main.addPlayM(name, 'http://estrenosvk.com/' + url, 309, 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 main.GA("INT", "FXCine")
def LISTEXgenre(murl): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\xc2\xa0', '') match = re.compile( '<a itemprop="url" href="(.+?)" rel=".+?" title="Permanent Link to (.+?)"><img itemprop="thumbnailUrl" alt=".+?" class="smallposter" src="(.+?)"></a>.+?<span itemprop="description">(.+?)</span>' ).findall(link) if len(match) == 0: match = re.compile( '<h1 class="post-title"><a href="([^<]+)" rel=".+?" title=".+?">([^<]+)</a></h1><img style=.+? src="(.+?)">(.+?)<div' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, name, thumb, desc in match: main.addPlayM(name, url, 536, thumb, desc, '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile( "<a href='([^<]+)' class='nextpostslink'>�</a>").findall(link) if len(paginate) > 0: main.addDir('Next', paginate[0], 531, art + '/next2.png') main.GA("Watching Now", "Recent")
def LIST(murl, subp=False): global subpages if subp: subpages = subp parts = murl.partition('%%%') murl = parts[0] page = re.search('(?i)page\/(\d+?)\/', murl) if page: page = int(page.group(1)) else: page = 1 max = page * subpages if parts[-1]: parts = parts[-1].partition('$$$') max = int(parts[0]) if parts[-1]: subpages = int(parts[-1]) urls = [] for n in range(subpages): if page + n > max: break if re.search('[^\d]\/$', murl): urls.append(murl + 'page/' + str(page + n) + '/') elif re.search('movies\/\?', murl): urls.append( murl.replace('movies/?', 'movies/page/' + str(page + n) + '/?')) else: urls.append( re.sub('page\/\d+?\/', 'page/' + str(page + n) + '/', murl)) link = main.batchOPENURL(urls).replace('\\/', '/') link = link.replace('\r', '').replace('\n', '').replace('\t', '') match = re.compile( '{"ID":.+?,"title":"(.*?)","link":"(.*?)","post_content":"(.*?)","image":"(.*?)","slidercap":"(.*?)","year":"(.*?)","genre":"(.*?)","director":".+?}', re.DOTALL).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for name, url, desc, thumb, fan, year, genre in match: main.addPlayM(name + ' [COLOR red](' + year + ')[/COLOR]', url, 423, thumb, desc, fan, '', genre, year) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile( '''<a class="nextpostslink" href="([^<]+)">.+?</a>''', re.DOTALL).findall(link) if len(paginate) == subpages and loadedLinks >= totalLinks: last = re.search( '(?i)<a class="last" href="[^"]+?/page/(\d+)/[^"]*?">Last', link) if last: last = int(last.group(1)) else: last = re.findall( '(?i)<a class="page larger" href="[^"]+?/page/(\d+)/[^"]*?">', link) if last: last = int(last[-1]) else: last = page + subpages main.addDir('[COLOR red]Enter Page #[/COLOR]', paginate[0] + '%%%' + str(subpages), 427, art + '/gotopage.png') main.addDir( 'Page ' + str(page / subpages + 1) + ' [COLOR blue]Next Page >>>[/COLOR]', re.sub('page\/\d+?\/', 'page/' + str(page + subpages) + '/', paginate[0]) + '%%%' + str(last) + '$$$' + str(subpages), 422, art + '/next2.png') main.GA("Yify", "List") main.VIEWS()
def LISTSP3(murl): subpages = 5 if murl == 'HD': page = 1 max = 100 else: try: pages = murl.split(',', 1 ); page = int(pages[0]) max = int(pages[1]) except: page = 1 # http://www.filestube.to/query.html?q=1080p+bluray+-esubs+-msubs+-subs&hosting=85&select=mkv&sizefrom=6000&sizeto=20000&sort=dd&page=1 hosts = "" possiblehosts = ( ["lumfile.com","85"], ["turbobit.net","40"], # ["fileom.com","106"], # ["letitbit.net","25"], ) for h,n in possiblehosts: if main.supportedHost(h): hosts += n+"%2C" hosts = hosts.rstrip("%2C") url='http://www.filestube.to/query.html?q=1080p+bluray+-esubs&hosting='+hosts+'&select=mkv&sizefrom=5000&sizeto=20000&sort=dd' urls = [] for n in range(subpages): urls.append(url+"&page="+str(page+n)) if page+n == max: break page = page + subpages - 1 link=main.batchOPENURL(urls) # print link next = len(re.compile('>►</a>').findall(link)) == subpages link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('&','&') match=re.compile('(?sim)<a href="([^"]+?)"[^>]*?class="rL"[^>]*?>(.+?)</a>.*?class="eT.*?<b>([^>]*?)<').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') match1 = [] for url, name, hostsite in match: name = name.replace('<b>','').replace('</b>','') name=main.unescapes(name) if not re.search('(?i)(\\bsubs\\b|\\msubs\\b|fetish)',name) and re.search('(?i)(20\d\d|19\d\d)',name): match1.append((url,name,hostsite)) match = match1 totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url, name, hostsite in match: url = url.decode('utf-8').encode('ascii', 'ignore') url = 'http://www.filestube.to' + url main.addPlayM(name.strip() + " [COLOR red]" + hostsite + "[/COLOR]",url,406,'','','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): break if next and loadedLinks >= totalLinks: main.addDir('Page ' + str(page/subpages) + ' [COLOR blue]Next Page >>>[/COLOR]',str(page+1)+','+str(max),405,art+'/next2.png') dialogWait.close() del dialogWait main.GA("HD-TV","FilesTube") main.VIEWS()
def LISTTV2(murl): #xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,7000)") if murl == 'movintv': main.addDir('Search Movie1k', 'www.movie1k.org', 132, art + '/search.png') #urllist=main.OPENURL('http://www.movie1k.ws/category/tv-show/')+main.OPENURL('http://www.movie1k.ws/category/tv-show/page/2/')+main.OPENURL('http://www.movie1k.ws/category/tv-show/page/3/')+main.OPENURL('http://www.movie1k.ws/category/tv-show/page/4/')+main.OPENURL('http://www.movie1k.ws/category/tv-show/page/5/') urllist = main.batchOPENURL( ('http://www.movie1k.ws/category/tv-show/', 'http://www.movie1k.ws/category/tv-show/page/2/', 'http://www.movie1k.ws/category/tv-show/page/3/', 'http://www.movie1k.ws/category/tv-show/page/4/', 'http://www.movie1k.ws/category/tv-show/page/5/')) elif murl == 'movin': #urllist=main.OPENURL('http://www.movie1k.ws/category/hindi-movies/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/2/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/3/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/4/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/5/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/6/')+main.OPENURL('http://www.movie1k.ws/category/hindi-movies/page/7/') urllist = main.batchOPENURL( ('http://www.movie1k.ws/category/hindi-movies/', 'http://www.movie1k.ws/category/hindi-movies/page/2/', 'http://www.movie1k.ws/category/hindi-movies/page/3/', 'http://www.movie1k.ws/category/hindi-movies/page/4/', 'http://www.movie1k.ws/category/hindi-movies/page/5/', 'http://www.movie1k.ws/category/hindi-movies/page/6/', 'http://www.movie1k.ws/category/hindi-movies/page/7/')) elif murl == 'movindub': #urllist=main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/2/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/3/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/4/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/5/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/6/')+main.OPENURL('http://www.movie1k.ws/category/hindi-dubbed-movies/page/7/') urllist = main.batchOPENURL( ('http://www.movie1k.ws/category/hindi-dubbed-movies/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/2/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/3/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/4/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/5/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/6/', 'http://www.movie1k.ws/category/hindi-dubbed-movies/page/7/')) murl = murl if urllist: urllist = urllist.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '') match = re.compile( '<a class="entry-thumbnails-link" href="(.+?)"><img width=".+?" height=".+?" src="(.+?)" class=".+?" alt="Watch (.+?) Online:.+?', re.DOTALL).findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, name in match: name = name.replace('\xc2\xa0', '').replace('" ', '').replace( ' "', '').replace('"', '').replace("'", "'").replace( "&", "and").replace("’", "'").replace("amp;", "and").replace("#8211;", "-") if murl == 'movintv': main.addPlayTE(name, url, 31, thumb, '', '', '', '', '') else: main.addPlayM(name, url, 31, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies/Episodes :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("TV-INT", "Movie1k")
def getFavorites(section_title = None): from resources.universal import favorites fav = favorites.Favorites(addon_id, sys.argv) if(section_title): fav_items = fav.get_my_favorites(section_title=section_title, item_mode='addon') else: fav_items = fav.get_my_favorites(item_mode='addon') if len(fav_items) > 0: for fav_item in fav_items: if (fav_item['isfolder'] == 'false'): if (fav_item['section_addon_title'] == "iWatchOnline Fav's" or fav_item['section_addon_title'] == "Movie Fav's"): main.addPlayM(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "TV Show Fav's"): main.addPlayT(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "TV Episode Fav's"): main.addPlayTE(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Misc. Fav's"): main.addPlayMs(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Live Fav's"): main.addPlayL(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Movie25 Fav's"): main.addInfo(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) else: if (fav_item['section_addon_title'] == "iWatchOnline Fav's" or fav_item['section_addon_title'] == "Movie Fav's"): main.addDirM(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "TV Show Fav's"): main.addDirT(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "TV Episode Fav's"): main.addDirTE(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Misc. Fav's"): main.addDirMs(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Live Fav's"): main.addDirL(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('plot',''), fav_item['fanart_url'], fav_item['infolabels'].get('duration',''), fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) elif (fav_item['section_addon_title'] == "Movie25 Fav's"): main.addInfo(fav_item['title'],fav_item['infolabels'].get('item_url',''), fav_item['infolabels'].get('item_mode',''), fav_item['image_url'], fav_item['infolabels'].get('genre',''), fav_item['infolabels'].get('year','')) else: xbmc.executebuiltin("XBMC.Notification([B][COLOR=FF67cc33]Aftershock Up[/COLOR][/B],[B]You Have No Saved Favourites[/B],5000,"")") return
def LISTSP3(murl): subpages = 5 if murl == 'HD': page = 1 max = subpages else: try: pages = murl.split(',', 1) page = int(pages[0]) max = int(pages[1]) except: page = 1 url = 'http://dl4free.me/forumdisplay.php?fid=42' urls = [] for n in range(subpages): urls.append(url + "&page=" + str(page + n)) if page + n == max: break page = page + subpages - 1 link = main.batchOPENURL(urls) if re.compile('class="pagination_last">(\d+?)</a>').findall(link): max = int( re.compile('class="pagination_last">(\d+?)</a>').findall(link)[0]) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('&', '&') match = re.compile( '(?sim)<a href="([^"]+?)" class="[^"]+?" id="[^"]+?">([^<]+?)</a></span>\s*?<div class="author smalltext"><a href="[^"]+?">(wroser|BollyCorner)</a></div>' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, name, user in match: url = url.decode('utf-8').encode('ascii', 'ignore') url = 'http://dl4free.me/' + url name = main.unescapes(name) if not re.search('(?i)avc', name) and re.search('(?i)1080p?', name): main.addPlayM(name, url, 408, '', '', '', '', '', '') loadedLinks = loadedLinks + 1 else: totalLinks -= 1 try: percent = (loadedLinks * 100) / totalLinks except: percent = 100 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 if page < max: main.addDir( 'Page ' + str(page / subpages) + ' [COLOR blue]Next Page >>>[/COLOR]', str(page + 1) + ',' + str(max), 407, art + '/next2.png') dialogWait.close() del dialogWait main.GA("HD-TV", "DL4Free") main.VIEWS()
def SEARCHM(murl): seapath = os.path.join(main.datapath, 'Search') SeaFile = os.path.join(seapath, 'SearchHistory25') try: os.makedirs(seapath) except: pass if murl == 'ws': keyb = xbmc.Keyboard('', 'Search For Shows or Episodes') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode = urllib.quote(search) if not os.path.exists(SeaFile) and encode != '': open(SeaFile, 'w').write('search="%s",' % encode) else: if encode != '': open(SeaFile, 'a').write('search="%s",' % encode) searchis = re.compile('search="(.+?)",').findall( open(SeaFile, 'r').read()) for seahis in reversed(searchis): continue if len(searchis) >= 10: searchis.remove(searchis[0]) os.remove(SeaFile) for seahis in searchis: try: open(SeaFile, 'a').write('search="%s",' % seahis) except: pass else: encode = murl search_url = 'http://www.freemoviesaddict.com/search' search_content = net.http_POST(search_url, {'search_term': encode}).content r = main.unescapes(search_content) match = re.compile( '<img class=\'.+?\' src=\'(.+?)\' alt=\'.+?\' />.+?<a class=\'.+?\' href=\'/(.+?)\'>(.+?)</a>.+?<a href=\'/movies/year/.+?\'>(.+?)</a>.+?<a href=\'/movies/genre/.+?\'>(.+?)</a>.+?</span><span class=".+?">(.+?)</span>' ).findall(r) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for thumb, url, name, year, gen, desc in match: main.addPlayM(name, 'http://www.freemoviesaddict.com/' + url, 569, thumb, desc, '', '', gen, year) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("FMA", "Search")
def LISTSCEPER(name, murl): main.GA("Sceper", "List") link = main.OPENURL(murl, timeout=10, cookie="sceper") if "setCookie(" in link: import time from cookielib import Cookie cookieList = [] t = time.time() + 259200 c = Cookie(version=False, name='hasVisitedSite', value='Yes', port=None, port_specified=False, domain='', domain_specified=False, domain_initial_dot=False, path='/', path_specified=True, secure=False, expires=t, discard=True, comment=None, comment_url=None, rest={}, rfc2109=False) cookieList.append(c) link = main.OPENURL(murl, timeout=10, cookie="sceper", setCookie=cookieList) i = 0 audiolist = [] desclist = [] genrelist = [] link = link.replace('\xc2\xa0', '').replace('\n', '') audio = re.compile('>Audio:</.+?>([^<]+?)<').findall(link) if len(audio) > 0: for aud in audio: audiolist.append(aud) else: audiolist.append('Audio Unknown') descr = re.compile('>Release Description</div><p>([^<]+?)</p>').findall( link) if len(descr) > 0: for desc in descr: desc = desc.replace('</span><span style="font-family: arial"> ', '').replace('<span style="color: #ff0000;">', '').replace('</span>', '') desclist.append(desc) else: desclist.append('Description Unavailable') genre = re.compile('>Genre:</span>([^<]+?)<br').findall(link) if len(genre) > 0: for gen in genre: gen = gen.replace('</span><span style="font-family: arial"> ', '').replace('<span style="color: #ff0000;">', '').replace('</span>', '') genrelist.append(gen) else: genrelist.append('Genre Unknown') match = re.compile( '<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class="[^"]+?">\t\t\t\t<div class="[^"]+?">Release Info</div><p><a href="([^"]+?)"' ).findall(link) if match: main.addDir('Search', 's', 543, art + '/search.png') dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, name, thumb in match: if len(audiolist) < 8: audiolist.append('Audio Unknown') if len(desclist) < 8: desclist.append('Description Unavailable') if len(genrelist) < 8: genrelist.append('Genre Unknown') sname = name data = re.findall('([^<]+)\s\(?(\d{4})\)?\s([^<]+)', sname) for title, date, quality in data: sname = processTitle(title, quality) name = title + ' (' + date + ') ' + sname main.addPlayM( name.strip() + ' [COLOR blue]' + audiolist[i].strip() + '[/COLOR]', url, 544, thumb, desclist[i], '', '', genrelist[i], '') i = i + 1 loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if dialogWait.iscanceled(): break dialogWait.close() del dialogWait paginate = re.compile( '<a class="nextpostslink" rel="next" href="([^"]+)">').findall(link) if paginate and loadedLinks >= totalLinks: main.addDir('Next', paginate[0], 541, art + '/next2.png') main.VIEWS()
def LISTSCEPER(name, murl): main.GA("Sceper", "List") link = main.OPENURL(murl) i = 0 audiolist = [] desclist = [] genrelist = [] link = link.replace('\xc2\xa0', '').replace('\n', '') audio = re.compile('>Audio:</.+?>(.+?)<b').findall(link) if len(audio) > 0: for aud in audio: aud = aud.replace( '</span><span style="font-family: arial"> ', '').replace('<span style="color: #ff0000;">', '').replace( '</span>', '').replace('<span style="color: #ff9900">', '').replace( '<span style="color: #ff6600">', '').replace( '<span style="color: #ff0000">', '').replace( '</span><span style="font-family: arial">', '').replace( '<span style="font-family: arial">', '').replace( '<span style="font-family: arial;">', '') audiolist.append(aud) else: audiolist.append('Audio Unknown') descr = re.compile('>Release Description</div><p>(.+?)</p>').findall(link) if len(descr) > 0: for desc in descr: desc = desc.replace('</span><span style="font-family: arial"> ', '').replace('<span style="color: #ff0000;">', '').replace('</span>', '') desclist.append(desc) else: desclist.append('Description Unavailable') genre = re.compile('>Genre:</span>(.+?)<br').findall(link) if len(genre) > 0: for gen in genre: gen = gen.replace('</span><span style="font-family: arial"> ', '').replace('<span style="color: #ff0000;">', '').replace('</span>', '') genrelist.append(gen) else: genrelist.append('Genre Unknown') match = re.compile( '<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class=".+?">\t\t\t\t<div class=".+?">Release Info</div><p><a href="(.+?)"' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, name, thumb in match: if len(audiolist) < 8: audiolist.append('Audio Unknown') if len(desclist) < 8: desclist.append('Description Unavailable') if len(genrelist) < 8: genrelist.append('Genre Unknown') main.addPlayM(name + ' [COLOR red]' + audiolist[i] + '[/COLOR]', url, 544, thumb, desclist[i], '', '', genrelist[i], '') i = i + 1 loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait paginate = re.compile( '<a href=\'([^<]+)\' class=\'nextpostslink\'>').findall(link) if len(paginate) > 0: main.addDir('Next', paginate[0], 541, art + '/next2.png')