def INDEX2(url): html = main.OPENURL2(url) if html == None: return pattern = 'title="Watch online: ([^"]*)" href="/([^"]*)"><img border="0" alt=".+?" src="([^"]*)"></a>' r = re.findall(r''+pattern+'', html, re.M|re.DOTALL) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until list is cached.') totalLinks = len(r) loadedLinks = 0 remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for name, nurl,thumb in r: loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) url = BASE_URL+nurl main.addDirM(name,url,1026,'http://www.tubeplus.me'+thumb,'','','','','') if (dialogWait.iscanceled()): return False if re.findall(r'<div id="paging">', html): r = re.findall('\<li title="Page (\d+)"\>.+?"\>(\d+)(?=\<\/a\>\<\/li\>\<li title="Next Page"\>\<a href="/(.+?)")',html) for current, total, npurl in r: name = '[COLOR=FF67cc33]Page '+current+' of '+total+', Next Page >>>[/COLOR]' main.addDir(name, BASE_URL+npurl, 1048, art+'/nextpage.png') url = url+':'+total name = '[COLOR=FF67cc33]Goto Page[/COLOR]' main.addDir(name, url, 1028, art+'/gotopagetr.png') main.VIEWS() dialogWait.close()
def LISTICE(murl,index=False): link = main.OPENURL(IceURL+murl) link = cleanHex(link) if '/tv/'in murl: match=re.compile('<a name=i id=(\d+)></a><img class=star><a href=(/tv[^<]+?)>([^<]+?)</a>(.)*?<br>',re.DOTALL).findall(link) #main.GA("TV","IceFilms") else: main.addDir('Search for Movies','Movies',286,art+'/search.png') match=re.compile('<a name=i id=(\d+)></a><img class=star><a href=(/ip[^>]+?)>([^<]+?)</a>(.)*?<br>',re.DOTALL).findall(link) #main.GA("HD","IceFilms") dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie/Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Shows 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 imdb,url,title,hd in match: if hd: title += ' [COLOR red]HD[/COLOR]' title = re.sub('\s\s+',' ',title) if '/tv/'in murl: main.addDirT(title.strip(),IceURL+url,289,'','','','','','',index=index) else: if index == 'True': main.addDirM(title.strip(),IceURL+url,21,'','','','','','',imdb) else: main.addDirM(title.strip(),IceURL+url,283,'','','','','','',imdb) loadedLinks += 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies/Shows 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 main.VIEWS()
def LISTSS(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','') #match=re.compile('class="moviefilm"><a href="([^<]+)">.+?<img src="(.+?)" alt="(.+?)" height=".+?<small>(.+?)</small>',re.DOTALL).findall(link) match=re.compile('<div class="moviefilm"><a href="([^<]+)">.+?<img src="(.+?)" alt="(.+?)" height=".+?" width="(.+?)',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,views in match: views=views.replace(' ',',').replace('Vues',' Vues') #main.addDirM(name+' [COLOR red]'+views+'[/COLOR]',url,326,thumb,'','','','','') main.addDirM(name,url,326,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='nextpostslink'>",re.DOTALL).findall(link) paginate = re.compile('''<a class="page larger" href="(.+?)">''',re.DOTALL).findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],325,art+'/next2.png') main.GA("SokroStream","List")
def INDEX2(url): html = main.OPENURL2(url) if html == None: return pattern = 'title="Watch online: ([^"]*)" href="/([^"]*)"><img border="0" alt=".+?" src="([^"]*)"></a>' r = re.findall(r"" + pattern + "", html, re.M | re.DOTALL) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until list is cached.") totalLinks = len(r) loadedLinks = 0 remaining_display = "Media loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display) for name, nurl, thumb in r: loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Media loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display) url = BASE_URL + nurl main.addDirM(name, url, 1026, "http://www.tubeplus.me" + thumb, "", "", "", "", "") if dialogWait.iscanceled(): return False if re.findall(r'<div id="paging">', html): r = re.findall( '\<li title="Page (\d+)"\>.+?"\>(\d+)(?=\<\/a\>\<\/li\>\<li title="Next Page"\>\<a href="/(.+?)")', html ) for current, total, npurl in r: name = "[COLOR=FF67cc33]Page " + current + " of " + total + ", Next Page >>>[/COLOR]" main.addDir(name, BASE_URL + npurl, 1048, art + "/nextpage.png") url = url + ":" + total name = "[COLOR=FF67cc33]Goto Page[/COLOR]" main.addDir(name, url, 1028, art + "/gotopagetr.png") main.VIEWS() dialogWait.close()
def SEARCHM(murl): encode = main.updateSearchFile(murl, 'Movies') if not encode: return False search_url = 'http://www.iwatchonline.to/search' from t0mm0.common.net import Net as net search_content = net().http_POST(search_url, { 'searchquery': encode, 'searchin': 'm' }).content.encode('utf-8') r = re.findall('(?s)<table(.+?)</table>', search_content) r = main.unescapes(r[0]) match = re.compile( '<img.+?src=\"(.+?)\".+?<a.+?href=\"(.+?)\">(.+?)</a>').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) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for thumb, url, name in match: main.addDirM(name, url, 588, 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("iWatchonline", "Search")
def SEARCH(): dialog = xbmcgui.Dialog() ret = dialog.select('[COLOR=FF67cc33][B]Choose A Search Type[/COLOR][/B]',['[B][COLOR=FF67cc33]TV Shows[/COLOR][/B]','[B][COLOR=FF67cc33]Movies[/COLOR][/B]']) if ret == -1: return if ret==0: murl='http://api.dramago.com/GetAllShows' keyb = xbmc.Keyboard('', 'Search For Shows') else: murl='http://api.dramago.com/GetAllMovies' keyb = xbmc.Keyboard('', 'Search For Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) link=main.OPENURL(murl) field=json.loads(link) for data in field: genre=str(data["genres"]).replace("u'",'').replace("'",'').replace("[",'').replace("]",'') if encode.lower()in(str(data["name"].encode('utf-8'))).lower(): if ret==0: main.addDirT(str(data["name"].encode('utf-8'))+' [COLOR red]'+str(data["rating"])+'/10[/COLOR] [COLOR blue]'+str(data["released"])+'[/COLOR]','http://api.dramago.com/GetDetails/'+str(data["id"]),275,'http://www.dramago.com/images/series/big/'+str(data["id"])+'.jpg',str(data["description"].encode('utf-8')),'','',genre,'') else: main.addDirM(str(data["name"].encode('utf-8'))+' [COLOR red]'+str(data["rating"])+'/10[/COLOR] [COLOR blue]'+str(data["released"])+'[/COLOR]','http://api.dramago.com/GetDetails/'+str(data["id"]),271,'http://www.dramago.com/images/series/big/'+str(data["id"])+'.jpg',str(data["description"].encode('utf-8')),'','',genre,'') else: return main.GA("Dramania","Search")
def SEARCHM(murl,index=False): encode = main.updateSearchFile(murl,'Movies') if not encode: return False search_url = 'http://www.iwatchonline.to/search' from t0mm0.common.net import Net as net search_content = net().http_POST(search_url, { 'searchquery' : encode, 'searchin' : 'm'} ).content.encode('utf-8') r = re.findall('(?s)<table(.+?)</table>',search_content) r=main.unescapes(r[0]) match=re.compile('<img.+?src=\"(.+?)\".+?<a.+?href=\"(.+?)\">(.+?)</a>').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) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") for thumb,url,name in match: if index == 'True': main.addDirM(name,url,21,thumb,'','','','','') else: main.addDirM(name,url,588,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("iWatchonline","Search")
def LIST(murl): link=main.OPENURL(murl) field=json.loads(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(field) loadedLinks = 0 remaining_display = 'Movies/Shows Cached :: [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 data in field: genre=str(data["genres"]).replace("u'",'').replace("'",'').replace("[",'').replace("]",'') if 'Movies' in murl: try: desc=str(data["description"].encode('utf-8')) except: desc =' ' main.addDirM(str(data["name"].encode('utf-8'))+' [COLOR red]'+str(round(data["rating"],2)).rstrip('0').rstrip('.')+'/10[/COLOR] [COLOR blue]'+str(data["released"])+'[/COLOR]','http://api.dramago.com/GetDetails/'+str(data["id"]),271,'http://www.dramago.com/images/series/big/'+str(data["id"])+'.jpg',desc,'','',genre,'') else: main.addDirT(str(data["name"].encode('utf-8'))+' [COLOR red]'+str(round(data["rating"],2)).rstrip('0').rstrip('.')+'/10[/COLOR] [COLOR blue]'+str(data["released"])+'[/COLOR]','http://api.dramago.com/GetDetails/'+str(data["id"]),275,'http://www.dramago.com/images/series/big/'+str(data["id"])+'.jpg',str(data["description"].encode('utf-8')),'','',genre,'') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies/Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False main.GA("Dramania","List")
def LISTFS(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','') match=re.compile('class="moviefilm"><a href="([^<]+)">.+?<img src="(.+?)" alt="(.+?)" height=".+?<small>(.+?)</small>',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,views in match: views=views.replace(' ',',').replace('Vues',' Vues') main.addDirM(name+' [COLOR red]'+views+'[/COLOR]',url,369,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='nextpostslink'>",re.DOTALL).findall(link) paginate = re.compile('''<a class="page larger" href="(.+?)">''').findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],368,art+'/next2.png') main.GA("SokroStream","List")
def LISTFULLS(murl): link=main.OPENURL2(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('class="movie movie-block"><img src="([^<]+)" alt=".+?" title="([^<]+)"/>.+?<h2 onclick="window.location.href=\'([^<]+)\'">',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 thumb,name,url in match: name=name.replace("<span style='color: #ff0000'>",'').replace('</span>','') if '/series-tv/' in murl or 'saison' in url: main.addDirT(name,url,798,thumb,'','','','','') else: main.addDirM(name,url,796,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('''<div class="navigation".+? <span.+? <a href="(.+?)">''').findall(link) if len(paginate)>0: main.addDir('[COLOR blue]Next Page >>>[/COLOR]',paginate[0],795,art+'/next2.png') main.GA("Fullstream2","List")
def LISTFULLS(murl): link=main.OPENURL2(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('class="short-title">.+?<a href="(.+?)">(.+?)</a>.+?</span><a href=".+?"><img src="(.+?)" alt=".+?" width=".+?" height=".+?"/></a>',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: name=name.replace("<span style='color: #ff0000'>",'').replace('</span>','') if '/series-tv/' in murl or 'saison' in url: main.addDirT(name,url,798,thumb,'','','','','') else: main.addDirM(name,url,796,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('''<div class="navigation".+? <span.+? <a href="(.+?)">''').findall(link) #xbmc.log(msg='-------------------'+str(match)+str(len(paginate)), level=xbmc.LOGDEBUG) if len(paginate)>0: main.addDir('Next',paginate[0],795,art+'/next2.png') main.GA("Fullstream2","List")
def iWatchLISTMOVIES(murl): main.GA("Movies","List") link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<a href="(.+?)" class=".+?" rel=".+?"><img class=".+?" src="(.+?)" alt=""> <div class=".+?">.+?</div> </a><div class=".+?">(.+?)<div class=".+?"><div class=".+?" data-rating=".+?"></div></div></div><div class=".+?">(.+?)<br />').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: main.addDirM(name,url,588,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 if len(match)==25: paginate=re.compile('([^<]+)start=([^<]+)').findall(murl) for purl,page in paginate: i=int(page)+25 main.addDir('[COLOR blue]Next[/COLOR]',purl+'start='+str(i),587,art+'/next2.png') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def MOVIES_SPECIAL(url): html = main.OPENURL2(url) if html == None: return r = re.findall( r'<h1 id="list_head" class="short">.+?Movies Special</h1>(.+?)«More Movies»</a>', html, re.M | re.DOTALL, ) pattern = '<a target="_blank" title="Watch online: (.+?)" href="/(.+?)"><img' r = re.findall(r"" + pattern + "", str(r)) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create("Please wait until list is cached.") totalLinks = len(r) loadedLinks = 0 remaining_display = "Media loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]." dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display) for name, url in r: url = BASE_URL + url main.addDirM(name, url, 1026, "", "", "", "", "", "") loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = "Media 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()
def LISTFULLS(murl): link=main.OPENURL2(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('full-stream-view-hover"><img src="(.+?)" alt="(.+?)".+?<h2><a href="(.+?)">.+?</a></h2>',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 thumb,name,url in match: name=name.replace("<span style='color: #ff0000'>",'').replace('</span>','') if '/series-tv/' in murl or 'saison' in url: main.addDirT(name,url,790,thumb,'','','','','') else: main.addDirM(name,url,788,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('''<div class="navigation".+? <span.+? <a href="(.+?)">''').findall(link) #xbmc.log(msg='-------------------'+str(match)+str(len(paginate)), level=xbmc.LOGDEBUG) if len(paginate)>0: main.addDir('Next',paginate[0],787,art+'/next2.png') main.GA("Fullstream","List")
def LISTDP(murl): link=main.OPENURL2(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\xc2\xa0','') match=re.compile("""height=".+?" src="(.+?)".+?<h2><a href="(.+?)" rel=".+?" title=".+?">(.+?)</a></h2>""",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 thumb,url, name in match: name=name.replace("<span style='color: #ff0000'>",'').replace('</span>','') if '/series-tv/' in murl or 'saison' in url: main.addDirT(name,url,315,thumb,'','','','','') else: main.addDirM(name,url,313,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='nextpostslink'>").findall(link) if len(paginate)>0 and len(match) == 12: main.addDir('Next',paginate[0],312,art+'/next2.png') main.GA("DpStreaming","List")
def LISTSP4(murl): dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') urllist = main.batchOPENURL( ('http://oneclickmoviez.com/category/bluray/', 'http://oneclickmoviez.com/category/bluray/page/2/', 'http://oneclickmoviez.com/category/bluray/page/3/', 'http://oneclickmoviez.com/category/bluray/page/4/', 'http://oneclickmoviez.com/category/bluray/page/5/')) if urllist: match = re.compile( 'href="(.+?)" rel="bookmark" title=".+?">(.+?)</a></h2>\n</div>\n<div class="cover">\n<div class="entry">\n\t\t\t\t\t<p style="text-align: center;"><img class="alignnone" title="poster" src="(.+?)" ' ).findall(urllist) 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.addDirM(name, url, 56, 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("HD", "Oneclickmoviez")
def SearchIceFilms(searchQuery='', type='Movies', index=False): searchQuery = main.updateSearchFile(searchQuery, type) if not searchQuery: return False if type == 'Movies': site = 'site:http://icefilms.info/ip' else: site = 'site:http://icefilms.info/tv/series' results = main.SearchGoogle(urllib.unquote(searchQuery), site) r = 0 dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(results) remaining_display = 'Movies loaded :: [B]' + str(r) + ' / ' + str( totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") if results: for res in results: t = res.title.encode('utf8') u = res.url.encode('utf8') if type == 'TV': t = t.rpartition('Episode List')[0] main.addDirT(t.strip(" -"), u, 289, '', '', '', '', '', '', index=index) r += 1 else: if not re.search('(?i)\s\d+x\d+', t) and (re.search( '(?i)links', t) or re.search('\.\.\.$', t)): t = re.sub('(.*\)).*', '\\1', t) if index == 'True': main.addDirM(t.strip(), u, 21, '', '', '', '', '', '') else: main.addDirM(t.strip(), u, 283, '', '', '', '', '', '') r += 1 else: if totalLinks > 1: totalLinks -= 1 percent = (r * 100) / totalLinks remaining_display = 'Movies loaded :: [B]' + str(r) + ' / ' + str( totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if dialogWait.iscanceled(): return False if not r: xbmcplugin.endOfDirectory(int(sys.argv[1]), False, False) xbmc.executebuiltin("XBMC.Notification(Sorry,No results found,3000)") return False main.GA("IceFilms", "Search")
def LISTINT3(xurl): final=[] from t0mm0.common.net import Net net = Net() ak=GetAK() xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,10000)") main.addDir('Search Peliculaspepito','movieNEW',303,art+'/search.png') if xurl=='http://www.peliculaspepito.com': i=0 while i != 450: header={'Accept':'application/json, text/javascript, */*; q=0.01','Accept-Encoding':'gzip,deflate,sdch','Accept-Language':'en-US,en;q=0.8','Cache-Control':'max-age=0', 'Connection':'keep-alive','Content-Length':'314','Content-Type':'application/x-www-form-urlencoded; charset=UTF-8','Referer':'http://www.peliculaspepito.com/peliculas/', 'X-Requested-With':'XMLHttpRequest'} post_data={'fblistado_pag':str(i),'fblistado_generos':'','fblistado_letras':'','fblistado_idiomas':'','fblistado_calidades':'','fblistado_ano_min':'','fblistado_ano_max':'' ,'fblistado_ord_tipo':'','listado_bcad':'','ak':ak,'ourl':'http://www.peliculaspepito.com/peliculas/','spfin':'buscador_Listar_Fin'} html = net.http_POST('http://www.peliculaspepito.com/ajax/buscador_catalogo',post_data,header).content html=html.replace('\\\\','') html=html.replace('\\','') final.append(html) i=i+45 else: header={'Accept':'application/json, text/javascript, */*; q=0.01','Accept-Encoding':'gzip,deflate,sdch','Accept-Language':'en-US,en;q=0.8','Cache-Control':'max-age=0', 'Connection':'keep-alive','Content-Length':'314','Content-Type':'application/x-www-form-urlencoded; charset=UTF-8','Referer':'http://www.peliculaspepito.com/peliculas/', 'X-Requested-With':'XMLHttpRequest'} post_data={'fblistado_pag':'0','fblistado_generos':'','fblistado_letras':'','fblistado_idiomas':'','fblistado_calidades':'','fblistado_ano_min':'','fblistado_ano_max':'' ,'fblistado_ord_tipo':'','listado_bcad':xurl,'ak':ak,'ourl':'http://www.peliculaspepito.com/peliculas/','spfin':'buscador_Listar_Fin'} html = net.http_POST('http://www.peliculaspepito.com/ajax/buscador_catalogo',post_data,header).content html=html.replace('\\\\','') html=html.replace('\\','') final=html match=re.compile('src=\\\"(.+?)\\\" \/><\/a><div id=\\\".+?\\\" class=\\\".+?\\\"><p><a title=\\\"(.+?)\\\" href=\\\"(.+?)\/\\\">.+?<\/a><\/p><p class=\\\".+?\\\">(.+?)class="pidilis',re.DOTALL).findall(str(final)) 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, name, url, lang in match: if 'flag flag_0' in lang: name= name+' [COLOR blue]ESP[/COLOR]' if 'flag flag_1' in lang: name= name+' [COLOR yellow]LAT[/COLOR]' if 'flag flag_2' in lang: name= name+' [COLOR red]ENG[/COLOR]' if 'flag flag_3' in lang: name= name+' [COLOR green]SUB[/COLOR]' main.addDirM(name,url,307,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","Peliculaspepito")
def SEARCHFS(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://frenchstream.org/?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://frenchstream.org/?s='+encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','') match=re.compile('class="moviefilm"><a href="([^<]+)">.+?<img src="(.+?)" alt="(.+?)" height=".+?<small>(.+?)</small>',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,views in match: views=views.replace(' ',',').replace('Vues',' Vues') main.addDirM(name+' [COLOR red]'+views+'[/COLOR]',url,369,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("SokroStream","Search")
def LISTICE(murl, index=False): link = main.OPENURL(IceURL + murl) link = cleanHex(link) if '/tv/' in murl: match = re.compile( '<a name=i id=(\d+)></a><img class=star><a href=(/tv[^<]+?)>([^<]+?)</a>(.)*?<br>', re.DOTALL).findall(link) main.GA("TV", "IceFilms") else: main.addDir('Search for Movies', 'Movies', 286, art + '/search.png') match = re.compile( '<a name=i id=(\d+)></a><img class=star><a href=(/ip[^>]+?)>([^<]+?)</a>(.)*?<br>', re.DOTALL).findall(link) main.GA("HD", "IceFilms") dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie/Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Shows 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 imdb, url, title, hd in match: if hd: title += ' [COLOR red]HD[/COLOR]' title = re.sub('\s\s+', ' ', title) if '/tv/' in murl: main.addDirT(title.strip(), IceURL + url, 289, '', '', '', '', '', '', index=index) else: if index == 'True': main.addDirM(title.strip(), IceURL + url, 21, '', '', '', '', '', '', imdb) else: main.addDirM(title.strip(), IceURL + url, 283, '', '', '', '', '', '', imdb) loadedLinks += 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies/Shows 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 main.VIEWS()
def SEARCHSS(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://sokrostream.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: encode = murl surl='http://sokrostream.com/?s='+encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','') match=re.compile('class="moviefilm"><a href="([^<]+)">.+?<img src="(.+?)" alt="(.+?)" height=".+?<small>(.+?)</small>',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,views in match: views=views.replace(' ',',').replace('Vues',' Vues') main.addDirM(name+' [COLOR red]'+views+'[/COLOR]',url,326,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("SokroStream","Search")
def ShowSceneLogItems(html, category, quality): html = main.unescapes(html) match = re.compile('<h1>.*?href="(.+?)".*?title="(.+?)"').findall(html) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Episodes list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes Cached :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) if match: for url, title in match: title = title.replace(".", " ").replace("_", " ") episode = re.search('(\d+)x(\d\d+)', title, re.I) if (episode): e = str(episode.group(2)) s = str(episode.group(1)) if len(s) == 1: s = "0" + s episode = "S" + s + "E" + e title = re.sub('(\d+)x(\d\d+)', episode, title, re.I) else: title = re.sub('(\d{4}) (\d{2}) (\d{2})', '\\1.\\2.\\3', title, re.I) isHD = re.compile('720p|1080p').findall(title) q = re.search( '(?i)(720p|1080p|HDTV|PDTV|WEB DL|DVDRIP|WS DSR|DSR|BDRip|WEBRiP)', title, re.I) title = re.sub( '(?i)(720p|1080p|HDTV|PDTV|WEB DL|DVDRIP|WS DSR|DSR|BDRip|WEBRiP|x264|lol ?-).*', '', title).strip("- ") title = re.sub('(\d{4}\.\d{2}\.\d{2})(.*)', '\\1[COLOR blue]\\2[/COLOR]', title, re.I) title = re.sub('(S\d+E\d+.*?) (.*)', '\\1 [COLOR blue]\\2[/COLOR]', title, re.I) if q: title += " [COLOR red]" + q.group(1) + "[/COLOR]" else: title += " [COLOR red]SD[/COLOR]" if (isHD or quality != 'HD'): if category == 'TV': main.addDirTE(title, url, 656, '', '', '', '', '', '') else: main.addDirM(title, url, 656, '', '', '', '', '', '') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes Cached :: [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 LISTSP2(murl): if murl=='3D': xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,5000)") main.addDir('Search Newmyvideolinks','movieNEW',102,art+'/search.png') check=main.OPENURL('http://www.myvideolinks.eu/category/movies/3-d-movies/') match=re.compile('<p><a href=".+?" >Next Page »</a></p>').findall(check) if len(match)>0: urllist=main.OPENURL('http://www.myvideolinks.eu/category/movies/3-d-movies/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/3-d-movies/page/2/') else: urllist=main.OPENURL('http://www.myvideolinks.eu/category/movies/3-d-movies/') elif murl=='TV': xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,10000)") main.addDir('Search Newmyvideolinks','tvNEW',102,art+'/search.png') urllist=main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/2/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/3/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/4/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/5/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/6/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/7/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/8/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/9/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/10/') else: xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,10000)") main.addDir('Search Newmyvideolinks','movieNEW',102,art+'/search.png') urllist=main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/2/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/3/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/4/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/5/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/6/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/7/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/8/') if urllist: urllist=main.unescapes(urllist) #link=main.OPENURL(xurl) match=re.compile("""<a href=".+?" rel=".+?" title=".+?"> <img src="(.+?)" width=".+?" height=".+?" title="(.+?)" class=".+?"></a><h4><a href="(.+?)" rel""").findall(urllist) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) if len(match)>0: for thumb,name,url in match: if murl=='TV': match=re.compile('720p').findall(name) if (len(match)>0): main.addDirTE(name,url,35,thumb,'','','','','') else: main.addDirM(name,url,35,thumb,'','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies/Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("HD-3D-HDTV","Newmyvideolinks") main.VIEWS()
def SEARCH(): keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.sominaltvfilms.com/search?q='+encode+'&x=-452&y=-10' link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match= re.compile('<div class="separator" style=".+?"><a href="(.+?)".+?<img border=".+?src="(.+?)".+?<br.+?(.+?)</div><.+?</div>.+?createSummaryAndThumb.+?","(.+?)","(.+?)",".+?</script>').findall(link) for fan,thumb,desc,name,url in match: desc=desc.replace('</div><div class="separator" style="clear: both; text-align: left;">','').replace('<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 18px;">','').replace('</div><div class="separator" style="clear: both; text-align: justify;">','').replace('</div><div class="separator" style="clear: both; text-align: center;">','').replace('</span>','').replace('<span>','').replace('</div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 18px;">','') desc=desc.replace('<br>','').replace('</br>','').replace('</div>','').replace('<div>','') main.addDirM(name,url,621,thumb,desc,fan,'','','')
def SEARCH(): keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.sominaltvfilms.com/?s='+encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile("""<div class='inner'><figure><a href="([^<]+)"><img src="(.+?)" alt="(.+?)"/>.+?<div class='description'><div class='date'>.+?<p>(.+?)</p>""").findall(link) for thumb,url,name,desc in match: desc=desc.replace('</div><div class="separator" style="clear: both; text-align: left;">','').replace('<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 18px;">','').replace('</div><div class="separator" style="clear: both; text-align: justify;">','').replace('</div><div class="separator" style="clear: both; text-align: center;">','').replace('</span>','').replace('<span>','').replace('</div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 18px;">','') desc=desc.replace('<br>','').replace('</br>','').replace('</div>','').replace('<div>','') main.addDirM(name,url,621,thumb,desc,thumb,'','','')
def SEARCH(): keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.playindiafilms.com/?s='+encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<img width=".+?" height=".+?" src="(.+?)" class=".+?" alt=".+?".+?<h1 class=".+?"><a class=".+?" href="(.+?)" title=".+?">(.+?)</a></h1>.+?<div class="excerpt-wrapper"><div class="excerpt"><p>(.+?)</p>').findall(link) for thumb,url,name,desc in match: desc=desc.replace('</div><div class="separator" style="clear: both; text-align: left;">','').replace('<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 18px;">','').replace('</div><div class="separator" style="clear: both; text-align: justify;">','').replace('</div><div class="separator" style="clear: both; text-align: center;">','').replace('</span>','').replace('<span>','').replace('</div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 18px;">','') desc=desc.replace('<br>','').replace('</br>','').replace('</div>','').replace('<div>','') main.addDirM(name,url,621,thumb,desc,thumb,'','','')
def SEARCH(): keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.sominaltvfilms.com/?s='+encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<img width=".+?" height=".+?" src="(.+?)" class=".+?" alt=".+?".+?<h1 class=".+?"><a class=".+?" href="(.+?)" title=".+?">(.+?)</a></h1>.+?<div class="excerpt-wrapper"><div class="excerpt"><p>(.+?)</p>').findall(link) for thumb,url,name,desc in match: desc=desc.replace('</div><div class="separator" style="clear: both; text-align: left;">','').replace('<span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 18px;">','').replace('</div><div class="separator" style="clear: both; text-align: justify;">','').replace('</div><div class="separator" style="clear: both; text-align: center;">','').replace('</span>','').replace('<span>','').replace('</div><div class="separator" style="clear: both; text-align: justify;"><span class="Apple-style-span" style="background-color: white; color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 18px;">','') desc=desc.replace('<br>','').replace('</br>','').replace('</div>','').replace('<div>','') main.addDirM(name,url,621,thumb,desc,thumb,'','','')
def LISTFX(): xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,10000)") urllist = ( main.OPENURL("http://www.fxcine.com/la/peliculas/page/1/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/2/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/3/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/4/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/5/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/6/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/7/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/8/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/9/") + main.OPENURL("http://www.fxcine.com/la/peliculas/page/10/") ) if urllist: urllist = urllist.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "") match = re.compile( 'class="load-local" href="(.+?)" rel=".+?div class="peli_img_img.+?img src="(.+?)" alt=".+?".+?<p class="sinopsis">(.+?)</p>.+?<div class="divcen">(.+?)<div class="sep-w">.+?alt="(.+?) on IMDb"', 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, desc, lang, name in match: name = name.decode("latin-1") name = name.encode("utf-8") desc = desc.decode("latin-1") desc = desc.encode("utf-8") if "eng1 d_inlineb" in lang: name = name + " [COLOR red]ENG[/COLOR]" if "sub1 d_inlineb" in lang: name = name + " [COLOR green]SUB[/COLOR]" if "lat1 d_inlineb" in lang: name = name + " [COLOR yellow]LAT[/COLOR]" if "cas1 d_inlineb" in lang: name = name + " [COLOR blue]CAS[/COLOR]" main.addDirM(name, url, 309, 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 main.GA("INT", "FXCine")
def SEARCHNEW(mname, murl): if murl == 'movieNEW': encode = main.updateSearchFile(mname, 'Movies', 'Search') if not encode: return False surl = 'http://myvideolinks.me/?s=' + encode link = main.OPENURL(surl) link = main.unescapes(link) match = re.compile(pattern).findall(link) if match: for url, thumb, name in match: name = main.CleanTitle(name) if not re.findall('HDTV', name): main.addDirM(name, url, 35, thumb, '', '', '', '', '') elif murl == 'tvNEW': encode = main.updateSearchFile(mname, 'TV', 'Search') if not encode: return False surl = 'http://tv.myvideolinks.eu/?s=' + encode link = main.OPENURL(surl) link = main.unescapes(link) match = re.compile(pattern).findall(link) if match: for url, thumb, name in match: name = main.CleanTitle(name) main.addDirTE(name, url, 35, thumb, '', '', '', '', '') else: if murl == 'tNEW': encode = mname.replace(' ', '+') surl = 'http://tv.myvideolinks.eu/?s=' + encode link = main.OPENURL(surl) link = main.unescapes(link) match = re.compile(pattern).findall(link) if match: for url, thumb, name in match: name = main.CleanTitle(name) main.addDirTE(name, url, 35, thumb, '', '', '', '', '') elif murl == 'mNEW': encode = mname.replace(' ', '+') surl = 'http://myvideolinks.me/?s=' + encode link = main.OPENURL(surl) link = main.unescapes(link) match = re.compile(pattern).findall(link) if match: for url, thumb, name in match: name = main.CleanTitle(name) if not re.findall('HDTV', name): main.addDirM(name, url, 35, thumb, '', '', '', '', '') main.GA("Newmyvideolinks", "Search")
def SEARCHNEW(mname,murl): if murl == 'movieNEW': encode = main.updateSearchFile(mname,'Movies','Search') if not encode: return False surl='http://myvideolinks.me/?s='+encode link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile(pattern).findall(link) if match: for url,thumb,name in match: name=main.CleanTitle(name) if not re.findall('HDTV',name): main.addDirM(name,url,35,thumb,'','','','','') elif murl == 'tvNEW': encode = main.updateSearchFile(mname,'TV','Search') if not encode: return False surl='http://tv.myvideolinks.eu/?s='+encode link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile(pattern).findall(link) if match: for url,thumb,name in match: name=main.CleanTitle(name) main.addDirTE(name,url,35,thumb,'','','','','') else: if murl == 'tNEW': encode = mname.replace(' ','+') surl='http://tv.myvideolinks.eu/?s='+encode link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile(pattern).findall(link) if match: for url,thumb,name in match: name=main.CleanTitle(name) main.addDirTE(name,url,35,thumb,'','','','','') elif murl == 'mNEW': encode = mname.replace(' ','+') surl='http://myvideolinks.me/?s='+encode link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile(pattern).findall(link) if match: for url,thumb,name in match: name=main.CleanTitle(name) if not re.findall('HDTV',name): main.addDirM(name,url,35,thumb,'','','','','') main.GA("Newmyvideolinks","Search")
def ShowSceneLogItems(html,category,quality): html = main.unescapes(html) match = re.compile('<h1>.*?href="(.+?)".*?title="(.+?)"').findall(html) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) if match: for url,title in match: title = title.replace("."," ").replace("_"," ") episode = re.search('(\d+)x(\d\d+)',title, re.I) if(episode): e = str(episode.group(2)) s = str(episode.group(1)) if len(s)==1: s = "0" + s episode = "S" + s + "E" + e title = re.sub('(\d+)x(\d\d+)',episode,title,re.I) else: title = re.sub('(\d{4}) (\d{2}) (\d{2})','\\1.\\2.\\3',title,re.I) isHD = re.compile('720p|1080p').findall(title) if isHD: title = title.split(isHD[0])[0].strip() else: title = title.split('HDTV')[0].strip() title = title.split('PDTV')[0].strip() title = re.sub('(\d{4}\.\d{2}\.\d{2})(.*)','\\1[COLOR blue]\\2[/COLOR]',title,re.I) title = re.sub('(S\d+E\d+.*?) (.*)','\\1 [COLOR blue]\\2[/COLOR]',title,re.I) if isHD: title += " [COLOR red]"+isHD[0]+"[/COLOR]" if (isHD or quality != 'HD'): if category=='TV': main.addDirTE(title,url,656,'','','','','','') else: main.addDirM(title,url,656,'','','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies/Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait
def LIST(mname,murl): #main.GA("SominalTv","List") if mname=='Hindi': main.addDir('Hindi English Subtitled','http://www.playindiafilms.com/hindi-movies-english-subtitles',620,art+'/subtitled.png') main.addDir('Hindi BluRay','http://www.playindiafilms.com/hindi-blurays',620,art+'/bluray.png') elif mname=='Telugu': main.addDir('Telugu English Subtitled','http://www.playindiafilms.com/telugu-movies-english-subtitles',620,art+'/subtitled.png') main.addDir('Telugu BluRay','http://www.playindiafilms.com/telugu-blurays',620,art+'/bluray.png') elif mname=='Tamil': main.addDir('Tamil English Subtitled','http://www.playindiafilms.com/tamil-movies-english-subtitles',620,art+'/subtitled.png') main.addDir('Tamil BluRay','http://www.playindiafilms.com/tamil-blurays',620,art+'/bluray.png') elif mname=='Malayalam': main.addDir('Malayalam English Subtitled','http://www.playindiafilms.com/malayalam-movies-english-subtitles',620,art+'/subtitled.png') elif mname=='Punjabi': main.addDir('Punjabi English Subtitled','http://www.playindiafilms.com/punjabi-movies-english-subtitles',620,art+'/subtitled.png') elif mname=='All Hindi Dubbed Movies': main.addDir('Dubbed BluRay','http://www.playindiafilms.com/hindi-dubbed-blurays',620,art+'/bluray.png') link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile("""<img src="([^"]+?)" alt="([^"]+?)"/></a>.+?class="title"><b><a href='([^']+?)'>.+?</b>.+?class='description'><div class='excerpt'><p>(.+?)...""").findall(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,name,url,desc in match: desc=desc.replace(' ','') name=main.unescapes(name) main.addDirM(name,url,621,thumb,desc,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("""rel="next" href="(.+?)">.+?</a>""").findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],620,art+'/next2.png') main.VIEWS()
def LIST(mname,murl): main.GA("SominalTv","List") if mname=='Hindi': main.addDir('Hindi English Subtitled','http://www.sominaltvfilms.com/category/hindi-movies-english-subtitles',620,art+'/subtitled.png') main.addDir('Hindi BluRay','http://www.sominaltvfilms.com/category/hindi-blurays',620,art+'/bluray.png') elif mname=='Telugu': main.addDir('Telugu English Subtitled','http://www.sominaltvfilms.com/category/telugu-movies-english-subtitles',620,art+'/subtitled.png') main.addDir('Telugu BluRay','http://www.sominaltvfilms.com/category/telugu-blurays',620,art+'/bluray.png') elif mname=='Tamil': main.addDir('Tamil English Subtitled','http://www.sominaltvfilms.com/category/tamil-movies-english-subtitles',620,art+'/subtitled.png') main.addDir('Tamil BluRay','http://www.sominaltvfilms.com/category/tamil-blurays',620,art+'/bluray.png') elif mname=='Malayalam': main.addDir('Malayalam English Subtitled','http://www.sominaltvfilms.com/category/malayalam-movies-english-subtitles',620,art+'/subtitled.png') elif mname=='Punjabi': main.addDir('Punjabi English Subtitled','http://www.sominaltvfilms.com/category/punjabi-movies-english-subtitles',620,art+'/subtitled.png') elif mname=='All Hindi Dubbed Movies': main.addDir('Dubbed BluRay','http://www.sominaltvfilms.com/category/hindi-dubbed-blurays',620,art+'/bluray.png') link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile("""<a href="([^<]+)"><img src="(.+?)" alt="(.+?)"/>.+?<div class='description'>.+?<p>(.+?)</p>""").findall(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,desc in match: desc=desc.replace(' ','') name=main.unescapes(name) main.addDirM(name,url,621,thumb,desc,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],620,art+'/next2.png') main.VIEWS()
def LISTFULLS(murl): link = main.OPENURL2(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( 'class="movie movie-block"><img src="([^<]+)" alt=".+?" title="([^<]+)"/>.+?<h2 onclick="window.location.href=\'([^<]+)\'">', 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 thumb, name, url in match: name = name.replace("<span style='color: #ff0000'>", '').replace('</span>', '') if '/series-tv/' in murl or 'saison' in url: main.addDirT(name, url, 798, thumb, '', '', '', '', '') else: main.addDirM(name, url, 796, 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( '''<div class="navigation".+? <span.+? <a href="(.+?)">''').findall( link) if len(paginate) > 0: main.addDir('[COLOR blue]Next Page >>>[/COLOR]', paginate[0], 795, art + '/next2.png') main.GA("Fullstream2", "List")
def INDEXONE(url): res_genre = [] res_url = [] html = main.OPENURL2(url) if html == None: return r = re.findall('<div id="popular">(.+?)<div id="popular_footer"></div>', html, re.M|re.DOTALL) pattern = '<li><a href="/(.+?)">(.+?)</a>' r = re.findall(r''+pattern+'', str(r)) for url, name in r: url = BASE_URL+url res_genre.append(name.encode('utf8')) res_url.append(url.encode('utf8')) dialog = xbmcgui.Dialog() ret = dialog.select('Choose Genre', res_genre) if ret == -1: return elif ret >= 0: genre = res_url [ret - 0] html = main.OPENURL2(genre) if html == None: return r = re.findall(r'var chart_movies(.+?)for\s\(movie in chart_movies\)', html, re.M|re.DOTALL) pattern = 'tt: \"(.+?)\".+?url: \"/(.+?)\"' r = re.findall(r''+pattern+'', str(r)) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until list is cached.') totalLinks = len(r) loadedLinks = 0 remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for name, url in r: main.addDirM(name,url,1026,'','','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Media 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()
def LIST(mname,murl): main.GA("SominalTv","List") if mname=='Hindi': main.addDir('Hindi English Subtitled','http://www.sominaltvfilms.com/category/hindi-movies-english-subtitles',620,art+'/wfs/subtitled.png') main.addDir('Hindi BluRay','http://www.sominaltvfilms.com/category/hindi-blurays',620,art+'/wfs/bluray.png') elif mname=='Telugu': main.addDir('Telugu English Subtitled','http://www.sominaltvfilms.com/category/telugu-movies-english-subtitles',620,art+'/wfs/subtitled.png') main.addDir('Telugu BluRay','http://www.sominaltvfilms.com/category/telugu-blurays',620,art+'/wfs/bluray.png') elif mname=='Tamil': main.addDir('Tamil English Subtitled','http://www.sominaltvfilms.com/category/tamil-movies-english-subtitles',620,art+'/wfs/subtitled.png') main.addDir('Tamil BluRay','http://www.sominaltvfilms.com/category/tamil-blurays',620,art+'/wfs/bluray.png') elif mname=='Malayalam': main.addDir('Malayalam English Subtitled','http://www.sominaltvfilms.com/category/malayalam-movies-english-subtitles',620,art+'/wfs/subtitled.png') elif mname=='Punjabi': main.addDir('Punjabi English Subtitled','http://www.sominaltvfilms.com/category/punjabi-movies-english-subtitles',620,art+'/wfs/subtitled.png') elif mname=='All Hindi Dubbed Movies': main.addDir('Dubbed BluRay','http://www.sominaltvfilms.com/category/hindi-dubbed-blurays',620,art+'/wfs/bluray.png') link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<img width=".+?" height=".+?" src="(.+?)" class=".+?" alt=".+?/></a></div></center><div class=".+?"><h2 class=".+?"><a class=".+?" href="(.+?)" title=".+?">(.+?)</a></h2><div class="excerpt">(.+?)...</div>').findall(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,desc in match: desc=desc.replace(' ','') main.addDirM(name,url,621,thumb,desc,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="([^<]+)">Next ›</a>""").findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],620,art+'/next2.png') main.VIEWS()
def SearchIceFilms(searchQuery = '',type='Movies',index=False): searchQuery = main.updateSearchFile(searchQuery,type) if not searchQuery: return False if type == 'Movies': site = 'site:http://icefilms.info/ip' else: site = 'site:http://icefilms.info/tv/series' results = main.SearchGoogle(urllib.unquote(searchQuery), site) r = 0 dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(results) remaining_display = 'Movies loaded :: [B]'+str(r)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)") if results: for res in results: t = res.title.encode('utf8') u = res.url.encode('utf8') if type == 'TV': t = t.rpartition('Episode List')[0] main.addDirT(t.strip(" -"),u,289,'','','','','','',index=index) r += 1 else: if not re.search('(?i)\s\d+x\d+',t) and (re.search('(?i)links',t) or re.search('\.\.\.$',t)): t = re.sub('(.*\)).*','\\1',t) if index == 'True': main.addDirM(t.strip(),u,21,'','','','','','') else: main.addDirM(t.strip(),u,283,'','','','','','') r += 1 else: if totalLinks > 1: totalLinks -= 1 percent = (r * 100)/totalLinks remaining_display = 'Movies loaded :: [B]'+str(r)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): return False if not r: xbmcplugin.endOfDirectory(int(sys.argv[1]), False, False) xbmc.executebuiltin("XBMC.Notification(Sorry,No results found,3000)") return False main.GA("IceFilms","Search")
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 Movies') 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.iwatchonline.to/search' search_content = net.http_POST(search_url, { 'searchquery' : encode, 'searchin' : 'm'} ).content r = re.findall('(?s)<table(.+?)</table>',search_content) r=main.unescapes(r[0]) match=re.compile('<img.+?src=\"(.+?)\".+?<a.+?href=\"(.+?)\">(.+?)</a>').findall(r) for thumb,url,name in match: main.addDirM(name,url,588,thumb,'','','','','') main.GA("iWatchonline","Search")
def LISTSP4(murl): urllist=main.OPENURL('http://oneclickmoviez.com/category/bluray/')+main.OPENURL('http://oneclickmoviez.com/category/bluray/page/2/')+main.OPENURL('http://oneclickmoviez.com/category/bluray/page/3/')+main.OPENURL('http://oneclickmoviez.com/category/bluray/page/4/')+main.OPENURL('http://oneclickmoviez.com/category/bluray/page/5/') if urllist: match=re.compile('href="(.+?)" rel="bookmark" title=".+?">(.+?)</a></h2>\n</div>\n<div class="cover">\n<div class="entry">\n\t\t\t\t\t<p style="text-align: center;"><img class="alignnone" title="poster" src="(.+?)" ').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,name, thumb in match: main.addDirM(name,url,56,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("HD","Oneclickmoviez")
def LISTFX(): urllist=[] page = 1 while page < 11 : urllist.append('http://www.fxcine.com/la/peliculas/page/'+str(page)+'/') page += 1 if urllist: html = main.batchOPENURL(urllist) urllist=main.unescapes(html) match=re.compile('class="load-local" href="(.+?)" rel=".+?div class="peli_img_img.+?img src="(.+?)" alt=".+?".+?<p class="sinopsis">(.+?)</p>.+?<div class="divcen">(.+?)<div class="sep-w">.+?alt="(.+?) on IMDb"',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,desc,lang,name in match: name=name.decode('latin-1') name=name.encode('utf-8') desc=desc.decode('latin-1') desc=desc.encode('utf-8') if 'eng1 d_inlineb' in lang: name= name+' [COLOR red]ENG[/COLOR]' if 'sub1 d_inlineb' in lang: name= name+' [COLOR green]SUB[/COLOR]' if 'lat1 d_inlineb' in lang: name= name+' [COLOR yellow]LAT[/COLOR]' if 'cas1 d_inlineb' in lang: name= name+' [COLOR blue]CAS[/COLOR]' main.addDirM(name,url,309,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 main.GA("INT","FXCine")
def LISTDP(murl): link = main.OPENURL2(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace( ' ', '').replace('\xc2\xa0', '') match = re.compile( """height=".+?" src="(.+?)".+?<h2><a href="(.+?)" rel=".+?" title=".+?">(.+?)</a></h2>""", 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 thumb, url, name in match: name = name.replace("<span style='color: #ff0000'>", '').replace('</span>', '') if '/series-tv/' in murl or 'saison' in url: main.addDirT(name, url, 315, thumb, '', '', '', '', '') else: main.addDirM(name, url, 313, 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='nextpostslink'>").findall( link) if len(paginate) > 0 and len(match) == 12: main.addDir('Next', paginate[0], 312, art + '/next2.png') main.GA("DpStreaming", "List")
def MOVIES_SPECIAL(url): html = main.OPENURL2(url) if html == None: return r = re.findall(r'<h1 id="list_head" class="short">.+?Movies Special</h1>(.+?)«More Movies»</a>',html, re.M|re.DOTALL) pattern = '<a target="_blank" title="Watch online: (.+?)" href="/(.+?)"><img' r = re.findall(r''+pattern+'',str(r)) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until list is cached.') totalLinks = len(r) loadedLinks = 0 remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for name, url in r: url = BASE_URL+url main.addDirM(name,url,1026,'','','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Media 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()
def LISTSP2(murl): if murl.startswith('3D'): main.addDir('Search Newmyvideolinks', 'movieNEW', 102, art + '/search.png') subpages = 2 max = 9 category = "3-d-movies" elif murl.startswith('TV'): main.addDir('Search Newmyvideolinks', 'tvNEW', 102, art + '/search.png') subpages = 3 max = 50 category = "tv-shows" else: main.addDir('Search Newmyvideolinks', 'movieNEW', 102, art + '/search.png') subpages = 5 max = 250 category = "bluray" parts = murl.split('-', 1) try: pages = parts[1].split(',', 1) page = int(pages[0]) max = int(pages[1]) murl = parts[0] except: page = 0 page = page * subpages urllist = '' urls = [] for n in range(subpages): if page + n + 1 > max: break if category == "tv-shows": urls.append('http://tv.myvideolinks.eu/page/' + str(page + n + 1)) else: urls.append('http://www.myvideolinks.me/category/movies/' + category + '/page/' + str(page + n + 1)) urllist = main.batchOPENURL(urls) hasNextPage = re.compile('>›</a>').findall(urllist) if category != "3-d-movies" and len( hasNextPage ) < subpages or category == "3-d-movies" and subpages * page > max: page = None else: hasMax = re.compile("page/(\d+?)/'>»</a>").findall(urllist) if hasMax: max = hasMax[0] if urllist: urllist = main.unescapes(urllist) #link=main.OPENURL(xurl) match = re.compile(pattern).findall(urllist) # if not match: # match=re.compile('<h3><a href="()([^"]+?)"[^>]+?title="([^"]+?)"').findall(urllist) if match: dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes Cached :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, title in match: if murl == 'TV': # if re.compile('720p').findall(title): title = main.CleanTitle(title) main.addDirTE(title, url, 35, thumb, '', '', '', '', '') else: title = main.CleanTitle(title) main.addDirM(title, url, 35, thumb, '', '', '', '', '') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Movies/Episodes Cached :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if dialogWait.iscanceled(): break if not page is None and loadedLinks >= totalLinks: main.addDir( 'Page ' + str(page / subpages + 1) + ' [COLOR blue]Next Page >>>[/COLOR]', murl + "-" + str(page / subpages + 1) + "," + str(max), 34, art + '/next2.png') dialogWait.close() del dialogWait main.GA("HD-3D-HDTV", "Newmyvideolinks") main.VIEWS()
def LISTSP2(murl): if murl.startswith('3D'): main.addDir('Search Newmyvideolinks','movieNEW',102,art+'/search.png') subpages = 2 max = 9 category = "3-d-movies" elif murl.startswith('TV'): main.addDir('Search Newmyvideolinks','tvNEW',102,art+'/search.png') subpages = 3 max = 50 category = "tv-shows" else: main.addDir('Search Newmyvideolinks','movieNEW',102,art+'/search.png') subpages = 5 max = 250 category = "bluray" parts = murl.split('-', 1 ); try: pages = parts[1].split(',', 1 ); page = int(pages[0]) max = int(pages[1]) murl = parts[0] except: page = 0 page = page * subpages; urllist = '' urls = [] for n in range(subpages): if page + n + 1 > max: break urls.append('http://www.myvideolinks.eu/category/movies/'+category+'/page/'+str(page+n+1)) urllist = main.batchOPENURL(urls) hasNextPage = re.compile('>›</a>').findall(urllist) if category != "3-d-movies" and len(hasNextPage) < subpages or category == "3-d-movies" and subpages * page > max: page = None else: hasMax = re.compile("page/(\d+?)/'>»</a>").findall(urllist) if hasMax: max = hasMax[0] if urllist: urllist=main.unescapes(urllist) #link=main.OPENURL(xurl) match=re.compile(pattern).findall(urllist) # if not match: # match=re.compile('<h3><a href="()([^"]+?)"[^>]+?title="([^"]+?)"').findall(urllist) if match: dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Movies/Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,title in match: if murl=='TV': if re.compile('720p').findall(title): title = re.sub('(?i)(.*?)(hdtv|pdtv|proper|repack|webrip|720p).*','\\1',title).strip() title = re.sub('(?i)(.*E\d+[^\s]) (.*)','\\1 [COLOR blue]\\2[/COLOR]',title).strip() title += ' [COLOR red]720p[/COLOR]' main.addDirTE(title,url,35,thumb,'','','','','') else: main.addDirM(title,url,35,thumb,'','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Movies/Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if dialogWait.iscanceled(): break if not page is None and loadedLinks >= totalLinks: main.addDir('Page ' + str(page/subpages+1) + ' [COLOR blue]Next Page >>>[/COLOR]',murl + "-" + str(page/subpages+1) + "," + str(max),34,art+'/next2.png') dialogWait.close() del dialogWait main.GA("HD-3D-HDTV","Newmyvideolinks") main.VIEWS()
def INDEX(url): types = [] SearchType = None if '!' in url: r = url.rpartition('!') print r url = r[0] SearchType = r[2] else: url = url if 'cat=TV' in url: types = 'tv' elif 'cat=Movies' in url: types = 'movie' html = GETHTML(url) if html == None: return pattern = '<tr><td[^>]*?><a [^>]*?>([^<]*?)</a></td><td[^>]*?><a href=\'([^\']*?)\'[^>]*?>([^<]*?)<' r = re.findall(pattern, html, re.I | re.M | re.DOTALL) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until list is cached.') totalLinks = len(r) loadedLinks = 0 remaining_display = 'Media loaded :: [B]' + str(loadedLinks) + ' / ' + str( totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for tag, url, name in r: if re.search('(?i)WEB-DL', name): tag = tag.strip() + " WEB-DL" if re.findall('\d{4}p', name): r = re.findall('(.+?)\s(\d+p)', name) for name, quality in r: tag = tag.replace('720p', quality) pass if re.findall('\ss\d+e\d+\s', name, re.I | re.DOTALL): r = re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I) for name, season, episode in r: name = name + ' S' + season + 'E' + episode elif re.findall('\s\d{4}\s\d{2}\s\d{2}\s', name): r = re.findall('(.+?)\s(\d{4})\s(\d{2})\s(\d{2})\s', name) for name, year, month, day in r: name = name + ' ' + year + ' ' + month + ' ' + day elif re.findall('\shdtv\sx', name, re.I): r = re.findall('(.+?)\shdtv\sx', name, re.I) for name in r: pass name = re.sub('\s\s+', ' ', name).strip() name = name + ' [COLOR red]' + re.sub('(?sim)^(TV-|Movies-)(.*)', '\\2', tag) + '[/COLOR]' if SearchType == None: if 'TV' in tag: main.addDirTE(main.CleanTitle(name), url, 1003, '', '', '', '', '', '') elif 'Movies' in tag: if re.findall('\s\d+\s', name): r = name.rpartition('\s\d{4}\s') main.addDirM(main.CleanTitle(name), url, 1003, '', '', '', '', '', '') elif SearchType == 'tv' and 'TV' in tag: main.addDirTE(main.CleanTitle(name), url, 1003, '', '', '', '', '', '') elif SearchType == 'movie' and 'Movies' in tag: r = name.rpartition('\s\d{4}\s') main.addDirM(main.CleanTitle(name), url, 1003, '', '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Media 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 if "<div class='zmg_pn'" in html and loadedLinks >= totalLinks: r = re.findall( """<span class='zmg_pn_current'>(\d+?)</span>[^<]*?<span class='zmg_pn_standar'><a href="([^"]+?)">""", html, re.I | re.DOTALL | re.M) total = re.findall('">(\d+)</a></span>', html) if total: total = total[-1] else: total = "1" for current, url in r: name = 'Page ' + current + ' of ' + total + ' [COLOR green]Next Page >>>[/COLOR]' main.addDir('[COLOR green]Go to Page[/COLOR]', url + ':' + total, 1002, art + '/gotopagetr.png') main.addDir(name, url.replace('%5C', ''), 1001, art + '/nextpage.png') main.VIEWS()
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 LISTINT3(xurl): final = [] from t0mm0.common.net import Net net = Net() ak = GetAK() xbmc.executebuiltin( "XBMC.Notification(Please Wait!,Collecting Source Data,10000)") main.addDir('Search Peliculaspepito', 'movieNEW', 303, art + '/search.png') if xurl == 'http://www.peliculaspepito.com': i = 0 while i != 450: header = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip,deflate,sdch', 'Accept-Language': 'en-US,en;q=0.8', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'Content-Length': '314', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Referer': 'http://www.peliculaspepito.com/peliculas/', 'X-Requested-With': 'XMLHttpRequest' } post_data = { 'fblistado_pag': str(i), 'fblistado_generos': '', 'fblistado_letras': '', 'fblistado_idiomas': '', 'fblistado_calidades': '', 'fblistado_ano_min': '', 'fblistado_ano_max': '', 'fblistado_ord_tipo': '', 'listado_bcad': '', 'ak': ak, 'ourl': 'http://www.peliculaspepito.com/peliculas/', 'spfin': 'buscador_Listar_Fin' } html = net.http_POST( 'http://www.peliculaspepito.com/ajax/buscador_catalogo', post_data, header).content html = html.replace('\\\\', '') html = html.replace('\\', '') final.append(html) i = i + 45 else: header = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip,deflate,sdch', 'Accept-Language': 'en-US,en;q=0.8', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'Content-Length': '314', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Referer': 'http://www.peliculaspepito.com/peliculas/', 'X-Requested-With': 'XMLHttpRequest' } post_data = { 'fblistado_pag': '0', 'fblistado_generos': '', 'fblistado_letras': '', 'fblistado_idiomas': '', 'fblistado_calidades': '', 'fblistado_ano_min': '', 'fblistado_ano_max': '', 'fblistado_ord_tipo': '', 'listado_bcad': xurl, 'ak': ak, 'ourl': 'http://www.peliculaspepito.com/peliculas/', 'spfin': 'buscador_Listar_Fin' } html = net.http_POST( 'http://www.peliculaspepito.com/ajax/buscador_catalogo', post_data, header).content html = html.replace('\\\\', '') html = html.replace('\\', '') final = html match = re.compile( 'src=\\\"(.+?)\\\" \/><\/a><div id=\\\".+?\\\" class=\\\".+?\\\"><p><a title=\\\"(.+?)\\\" href=\\\"(.+?)\/\\\">.+?<\/a><\/p><p class=\\\".+?\\\">(.+?)class="pidilis', re.DOTALL).findall(str(final)) 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, name, url, lang in match: if 'flag flag_0' in lang: name = name + ' [COLOR blue]ESP[/COLOR]' if 'flag flag_1' in lang: name = name + ' [COLOR yellow]LAT[/COLOR]' if 'flag flag_2' in lang: name = name + ' [COLOR red]ENG[/COLOR]' if 'flag flag_3' in lang: name = name + ' [COLOR green]SUB[/COLOR]' main.addDirM(name, url, 307, 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", "Peliculaspepito")
def GENRES(url): Curl = url html = main.OPENURL2(url) if html == None: return r = re.findall(r'{value:1, te(.+?)var selected_genre', html, re.M) pattern = 'xt: "(.+?)"' r = re.findall(r''+pattern+'', str(r), re.I|re.DOTALL) res_genre = [] res_url = [] for genre in r: res_genre.append(genre.encode('utf8')) res_url.append(genre.encode('utf8')) dialog = xbmcgui.Dialog() ret = dialog.select('Choose Genre', res_genre) if ret == -1: return elif ret >= 0: genre = res_url [ret - 0] url = url+genre+'/ALL/' try: html = main.OPENURL2(url) #html = html.replace('xc2\x92', "'") if html == None: print 'html None' return except:#Mash can you add your error calling function pass#remove the pass and add call to your error routine r = re.findall(r'Alphabetically \[\<b\>'+genre+', ALL\<\/b\>\]\<\/div\>(.+?)\<div id=\"list_footer\"\>\<\/div\>', html, re.I|re.M|re.DOTALL) pattern = 'title="Watch online: ([^"]*)" href="/([^"]*)"><img border="0" alt=".+?" src="([^"]*)"></a>' r = re.findall(pattern, str(r), re.I|re.M|re.DOTALL) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until list is cached.') totalLinks = len(r) loadedLinks = 0 remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for name, url, thumb in r: url = BASE_URL+url if 'tv-shows' in Curl: main.addDir(name,url,1049,'http://www.tubeplus.me'+thumb) else: name = name.replace('\\','').replace('xc2x92','') main.addDirM(name,url,1026,'http://www.tubeplus.me'+thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Media 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() if re.findall(r'<div id="paging">', html): r = re.findall('\<li title="Page (\d+)"\>.+?"\>(\d+)(?=\<\/a\>\<\/li\>\<li title="Next Page"\>\<a href="/(.+?)")',html) for current, total, npurl in r: name = '[COLOR=FF67cc33]Page '+current+' of '+total+', Next Page >>>[/COLOR]' main.addDir(name, BASE_URL+npurl, 1048, art+'/nextpage.png') url = url+':'+total name = '[COLOR=FF67cc33]Goto Page[/COLOR]' main.addDir(name, url, 1028, art+'/gotopagetr.png') main.VIEWS()
def SEARCH(murl): if murl == 'tv': seapath=os.path.join(main.datapath,'Search') SeaFile=os.path.join(seapath,'SearchHistoryTv') try: os.makedirs(seapath) except: pass keyb = xbmc.Keyboard('', '[COLOR=FF67cc33]MashUP: Search For Shows or Episodes[/COLOR]') 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 surl = 'http://www.tubeplus.me/search/tv-shows/'+encode+'/0/' #SEARCH(url) else: return TVMENU() elif murl=='movie': seapath=os.path.join(main.datapath,'Search') SeaFile=os.path.join(seapath,'SearchHistory25') try: os.makedirs(seapath) except: pass keyb = xbmc.Keyboard('', '[COLOR=FF67cc33]MashUP: Search For Movies[/COLOR]') 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 surl = 'http://www.tubeplus.me/search/movies/'+encode+'/0/' #SEARCH(url) else: return MOVIE_MENU() else: surl=murl html = main.OPENURL2(surl) r = re.compile(r'<div id="list_body">(.+?)<div id="list_footer"></div>', re.DOTALL|re.I|re.M).findall(html) match = re.compile(r'title="Watch online: ([^"]*)" href="/([^"]*)"><img border="0" alt=".+?" src="([^"]*)"></a>', re.I).findall(str(r))# href',str(r),flags=re.I) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for name, url, image in match: name = name.replace('_',' ').replace('/','').replace('\\x92',"'").replace('’',"'").replace('"','"').replace(',',',') if 'tv-shows' in surl: main.addDirT(name.replace('.',''),url,1049,'http://www.tubeplus.me'+image,'','','','','') else: main.addDirM(name.replace('.',''),url,1026,'http://www.tubeplus.me'+image,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Media 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 SEARCHNEW(mname,murl): if murl == 'movieNEW': seapath=os.path.join(main.datapath,'Search') SeaFile=os.path.join(seapath,'SearchHistory25') try: os.makedirs(seapath) except: pass keyb = xbmc.Keyboard('', 'Search Movies') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.myvideolinks.eu/index.php?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): print seahis 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 link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile("""<a href=".+?" rel=".+?" title=".+?"> <img src="(.+?)" width=".+?" height=".+?" title="(.+?)" class=".+?"></a><h4><a href="(.+?)" rel""").findall(link) if len(match)>0: for thumb,name,url in match: if not re.findall('HDTV',name): main.addDirM(name,url,35,thumb,'','','','','') elif murl == 'tvNEW': seapath=os.path.join(main.datapath,'Search') SeaFile=os.path.join(seapath,'SearchHistoryTv') try: os.makedirs(seapath) except: pass keyb = xbmc.Keyboard('', 'Search TV Shows') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://www.myvideolinks.eu/index.php?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 link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile("""<a href=".+?" rel=".+?" title=".+?"> <img src="(.+?)" width=".+?" height=".+?" title="(.+?)" class=".+?"></a><h4><a href="(.+?)" rel""").findall(link) if len(match)>0: for thumb,name,url in match: main.addDirTE(name,url,35,thumb,'','','','','') else: if murl == 'tNEW': mname=mname.replace(' ','%20') encode = mname surl='http://www.myvideolinks.eu/index.php?s='+encode link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile("""<a href=".+?" rel=".+?" title=".+?"> <img src="(.+?)" width=".+?" height=".+?" title="(.+?)" class=".+?"></a><h4><a href="(.+?)" rel""").findall(link) if len(match)>0: for thumb,name,url in match: if re.findall('HDTV',name): main.addDirTE(name,url,35,thumb,'','','','','') elif murl == 'mNEW': mname=mname.replace(' ','%20') encode = mname surl='http://www.myvideolinks.eu/index.php?s='+encode link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile("""<a href=".+?" rel=".+?" title=".+?"> <img src="(.+?)" width=".+?" height=".+?" title="(.+?)" class=".+?"></a><h4><a href="(.+?)" rel""").findall(link) if len(match)>0: for thumb,name,url in match: if not re.findall('HDTV',name): main.addDirM(name,url,35,thumb,'','','','','') main.GA("Newmyvideolinks","Search")
def INDEX(url): types = [] SearchType = None if '!' in url: r = url.rpartition('!') print r url = r[0] SearchType = r[2] else: url = url if '/tvshows/' in url: types = 'tv' elif '/movies/' in url: types = 'movie' html = GETHTML(url) if html == None: return pattern = 'tag">(.+?)</a>.+?text-align:left.+?a href="(.+?)"><b><font size="\d+px">(.+?)</font>' r = re.findall(pattern, html, re.I|re.M|re.DOTALL) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until list is cached.') totalLinks = len(r) loadedLinks = 0 remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for tag, url, name in r: if re.findall('\ss\d+e\d+\s', name, re.I|re.DOTALL): r = re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I) for name, season, episode in r: name = name+' Season '+season+' Episode '+episode+' ('+season+'x'+episode+')' elif re.findall('\s\d{4}\s\d{2}\s\d{2}\s', name): r = re.findall('(.+?)\s(\d{4})\s(\d{2})\s(\d{2})\s',name) for name, year, month, day in r: name = name+' '+year+' '+month+' '+day elif re.findall('\d+p\s', name): r = re.findall('(.+?)\s\d+p\s', name) for name in r: pass elif re.findall('\shdtv\sx', name, re.I): r = re.findall('(.+?)\shdtv\sx',name, re.I) for name in r: pass name = name+' [COLOR blue]'+tag+'[/COLOR]' if SearchType == None: if 'TV' in tag: main.addDirTE(name,url,1003,'','','','','','') elif 'Movies' in tag: if re.findall('\s\d+\s',name): r = name.rpartition('\s\d{4}\s') main.addDirM(name,url,1003,'','','','','','') elif SearchType == 'tv' and 'TV' in tag: main.addDirTE(name,url,1003,'','','','','','') elif SearchType == 'movie' and 'Movies' in tag: r = name.rpartition('\s\d{4}\s') main.addDirM(name,url,1003,'','','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Media 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 if '<!-- Zamango Pagebar 1.3 -->' in html: r = re.findall('<span class=\'zmg_pn_current\'>(\d+)</span>\n<span class=\'zmg_pn_standar\'><a href=\'(http://tv-release.net/category/.+?/\d+)\' title=\'Page \d+ of (\d+)\'>\d+</a>',html, re.I|re.DOTALL|re.M) if len(r) == 0: r = re.findall('<span class=\'zmg_pn_current\'>(\d+)</span>\n<span class=\'zmg_pn_standar\'><a href=\'(http://tv-release.net/page/\d+\?.+?)\' title=\'Page \d+ of (\d+)\'>\d+</a>', html, re.I|re.DOTALL|re.M) for current, url, total in r: name = '[COLOR green]Page '+current+' of '+total+', Next Page >>>[/COLOR]' main.addDir(name, url.replace('%5C',''), 1001, art+'/nextpage.png') url = url+':'+total name = '[COLOR green]Goto Page[/COLOR]' main.addDir(name, url, 1002, art+'/gotopagetr.png') main.VIEWS()