def SEARCH(murl): if murl == 'tv': encode = main.updateSearchFile(murl,'TV',defaultValue=murl,searchMsg='Search For Shows or Episodes') if not encode: return False url = 'http://tv-release.net/?s='+encode+'&cat=TV-XviD,TV-Mp4,TV-720p,TV-480p,TV-Foreign,' INDEX(url) elif murl=='movie': encode = main.updateSearchFile(murl,'Movies',defaultValue=murl,searchMsg='Search For Movies') if not encode: return False url = 'http://tv-release.net/?s='+encode+'&cat=Movies-XviD,Movies-720p,Movies-480p,Movies-Foreign,Movies-DVDR,' INDEX(url)
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 SEARCH(mname,murl): if murl == 'moviexx': encode = main.updateSearchFile(mname,'Movies','Search') else: encode = mname.replace(' ','%20') LISTINT3(encode)
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(url = ''): encode = main.updateSearchFile(url,'TV') if not encode: return False surl='http://couchtuner.at/search?q=' + encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('td class="col-md-1"><img src="([^"]*?)" title=".+?</td>\s*<td class="col-md-11">.+?<h4 class="media-heading" ><a href="([^"]*?)">([^"]*?)</a></h4>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for thumb,url,name in match: main.addDirTE(name,url,9,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait nextpage=re.compile('<a href="(http://couchtuner.at/page/[^"]*?)">></a></li>').findall(link) if nextpage: for xurl in nextpage: main.addDir('Next Page',xurl,120,'')
def SearchDirectDownloadTV(searchQuery = ''): setCookie() try: params = searchQuery.split('#@#', 1 ) page = int(params[1]) searchQuery = params[0] except: page = 0 searchQuery = main.updateSearchFile(searchQuery,'TV') if not searchQuery: return False searchUrl='http://directdownload.tv/index/search/keyword/'+searchQuery+'/qualities/pdtv,dsr,hdtv,realhd,dvdrip,webdl,webdl1080p/from/'+str(page)+'/search' from t0mm0.common.net import Net as net html = net().http_GET(searchUrl).content if html: totalLinks = ShowDirectDownloadTVItems(html) if not totalLinks: xbmc.executebuiltin("XBMC.Notification(DirectDownloadTV,No Results Found,3000)") return False if page == 0: strpage = "1" else: strpage = str(page/20+1) page += 20 if not totalLinks % 20: main.addDir('Page ' + strpage + ' [COLOR blue]Next Page >>>[/COLOR]',searchQuery + '#@#' + str(page),137,art+'/next2.png') else: xbmcplugin.endOfDirectory(int(sys.argv[1]), False, False) xbmc.executebuiltin("XBMC.Notification(Sorry,Could not connect to DirectDownloadTV,3000)") main.GA("DirectDownloadTV","Search")
def SEARCH(url = ''): encode = main.updateSearchFile(url,'TV') if not encode: return False surl='http://www.couchtuner.me/?s=' + encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<span class="tvbox"><a href="http://www.couchtuner.me/[^"]+/[^"]+/([^"]+)"><img width="[^"]*" height="[^"]*" src="([^"]*)".+?<span class="tvpost">([^"]*)<br/>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,thumb,name in match: url = 'http://streamonline.me/' + url main.addDirTE(name,url,5,thumb,'','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait nextpage=re.compile('<div class="prev-page"><strong>Previous <a href="([^"]*)">[^"]*</a></strong>').findall(link) if nextpage: xurl=base_url+nextpage[0] main.addDir('Next Page',xurl,120,'')
def NBSearch(mname,murl): if murl != '': encode = main.updateSearchFile(mname,'Movies','Search') if not encode: return False else:LISTSP5('/search.php?q='+encode) else: LISTSP5('/search.php?q='+murl)
def SEARCH(encode): # main.GA("Yify","Search") encode = main.updateSearchFile(encode, "Movies", "sec", "Search For Movies") if not encode: return False surl = "http://yify.tv/?s=" + encode LIST(surl, 1)
def SEARCH(encode): main.GA("Yify", "Search") encode = main.updateSearchFile(encode, 'Movies', 'sec', 'Search For Movies') if not encode: return False surl = 'http://yify.tv/?s=' + encode LIST(surl, 1)
def SearchSceneLog(searchQuery,searchCategory): if searchCategory.startswith('TV'): cat = 5 else: searchCategory = "Movies" cat = 4 try: params = searchCategory.split('#@#', 2 ); searchCategory = params[0] page = int(params[1]) searchQuery = params[2] except: page = 1 searchQuery = main.updateSearchFile(searchQuery,searchCategory,'Search') if not searchQuery: return False searchUrl='http://scnlog.eu/page/'+str(page)+'/?s='+searchQuery+'&cat='+str(cat) html = main.OPENURL(searchUrl) if html: hasNextPage = re.compile('<strong>»</strong>').findall(html) ShowSceneLogItems(html,searchCategory,'all') if hasNextPage: main.addDir('Page ' + str(page) + ', Next Page >>>',searchCategory + "#@#" + str(page+1) + '#@#' + searchQuery,660,art+'/next2.png') else: xbmcplugin.endOfDirectory(int(sys.argv[1]), False, False) xbmc.executebuiltin("XBMC.Notification(Sorry,Could not connect to SceneLog,3000)") main.GA("SceneLog","Search")
def SearchSceneLog(searchQuery, searchCategory): if searchCategory.startswith('TV'): cat = 5 else: searchCategory = "Movies" cat = 4 try: params = searchCategory.split('#@#', 2) searchCategory = params[0] page = int(params[1]) searchQuery = params[2] except: page = 1 searchQuery = main.updateSearchFile(searchQuery, searchCategory, 'Search') if not searchQuery: return False searchUrl = 'http://scnlog.eu/page/' + str( page) + '/?s=' + searchQuery + '&cat=' + str(cat) html = main.OPENURL(searchUrl) if html: hasNextPage = re.compile('<strong>»</strong>').findall(html) ShowSceneLogItems(html, searchCategory, 'all') if hasNextPage: main.addDir( 'Page ' + str(page) + ', Next Page >>>', searchCategory + "#@#" + str(page + 1) + '#@#' + searchQuery, 660, art + '/next2.png') else: xbmcplugin.endOfDirectory(int(sys.argv[1]), False, False) xbmc.executebuiltin( "XBMC.Notification(Sorry,Could not connect to SceneLog,3000)") main.GA("SceneLog", "Search")
def SEARCH(encode): main.GA(prettyName, "Search") encode = main.updateSearchFile("", "Movies", searchMsg="Search For Movies") if not encode: return False surl = "http://www.catiii.tv/?s=" + encode LIST(surl)
def NBSearch(mname, murl): if murl != '': encode = main.updateSearchFile(mname, 'Movies', 'Search') if not encode: return False else: LISTSP5('/search.php?q=' + encode) else: LISTSP5('/search.php?q=' + murl)
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 SearchDirectDownloadTV(searchQuery=''): setCookie() try: params = searchQuery.split('#@#', 1) page = int(params[1]) searchQuery = params[0] except: page = 0 searchQuery = main.updateSearchFile(searchQuery, 'TV') if not searchQuery: return False searchUrl = 'http://directdownload.tv/index/search/keyword/' + searchQuery + '/qualities/pdtv,dsr,hdtv,realhd,dvdrip,webdl,webdl1080p/from/' + str( page) + '/search' from t0mm0.common.net import Net as net html = net().http_GET(searchUrl).content if html: totalLinks = ShowDirectDownloadTVItems(html) if not totalLinks: xbmc.executebuiltin( "XBMC.Notification(DirectDownloadTV,No Results Found,3000)") return False if page == 0: strpage = "1" else: strpage = str(page / 20 + 1) page += 20 if not totalLinks % 20: main.addDir( 'Page ' + strpage + ' [COLOR blue]Next Page >>>[/COLOR]', searchQuery + '#@#' + str(page), 137, art + '/next2.png') else: xbmcplugin.endOfDirectory(int(sys.argv[1]), False, False) xbmc.executebuiltin( "XBMC.Notification(Sorry,Could not connect to DirectDownloadTV,3000)" ) main.GA("DirectDownloadTV", "Search")
def superSearch(searchQuery, type): try: returnList = [] setCookie() try: params = searchQuery.split('#@#', 1) page = int(params[1]) searchQuery = params[0] except: page = 0 searchQuery = main.updateSearchFile(searchQuery, 'TV') if not searchQuery: return False searchUrl = 'http://directdownload.tv/index/search/keyword/' + searchQuery + '/qualities/pdtv,dsr,hdtv,realhd,dvdrip,webdl,webdl1080p/from/' + str( page) + '/search' from t0mm0.common.net import Net as net html = net().http_GET(searchUrl).content match = re.compile( '{"release":"([^"]+?)","when":.+?,"size":".+?","links":(.+?),"idtvs".+?"quality":"([^"]+?)".+?}' ).findall(html) for title, url, quality in match: name = processTitle(title, quality) if isArchive(url): name = '[B][Archived][/B] ' + name url = url.replace('\/', '/') if '[Archived]' not in name: returnList.append((name, prettyName, url, '', 62, True)) return returnList except: return []
def SEARCH(url = ''): encode = main.updateSearchFile(url,'TV') if not encode: return False surl='http://www.couchtuner.la/?s=' + encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<h2><a href="([^"]*?)" rel="bookmark" title="Watch.+?Online">([^"]*?)</a></h2>').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display) for url,name in match: main.addDirTE(name,url,9,'','','','','','') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Episodes loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait nextpage=re.compile('<div class="prev-page"><strong>Previous <a href="([^"]*)">[^"]*</a></strong>').findall(link) if nextpage: xurl=base_url+nextpage[0] main.addDir('Next Page',xurl,120,'')
def SEARCHPFTV(murl = '',index=False): encode = main.updateSearchFile(murl,'TV') if not encode: return False surl=BASE_URL2+'search/?q='+encode+'&md=shows' link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','') match=re.compile(' class="mnlcategorylist"><a href="([^"]+)"><b>([^<]+)</b>',re.DOTALL).findall(link) for url,name in match: main.addDirT(name,BASE_URL2+url,465,'','','','','','',index=index)
def SEARCH(mname, murl): if murl == 'moviexx': encode = main.updateSearchFile(mname, 'Movies', 'Search') else: encode = mname.replace(' ', '%20') LISTINT3(encode) main.GA("Peliculaspepito", "Search")
def SEARCHWS(murl = '',index=False): encode = main.updateSearchFile(murl,'TV') if not encode: return False surl='http://watchseries.ag/search/'+encode link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','') match=re.compile('<a title=".+?" href="([^<]+)"><b>(.+?)</b></a> <br> <b>Description:</b>(.+?)</td></tr> <tr></tr> <tr><td valign="top"> <a title=".+?<img src="(.+?)"> </a>',re.DOTALL).findall(link) for url,name,desc,thumb in match: main.addDirT(name,'http://watchseries.ag'+url,578,thumb,desc,'','','','',index=index)
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 SEARCH(murl): if murl == 'tv': encode = main.updateSearchFile( murl, 'TV', defaultValue=murl, searchMsg='Search For Shows or Episodes') if not encode: return False url = 'http://tv-release.net/?s=' + encode + '&cat=TV-XviD,TV-Mp4,TV-720p,TV-480p,TV-Foreign,' INDEX(url) elif murl == 'movie': encode = main.updateSearchFile(murl, 'Movies', defaultValue=murl, searchMsg='Search For Movies') if not encode: return False url = 'http://tv-release.net/?s=' + encode + '&cat=Movies-XviD,Movies-720p,Movies-480p,Movies-Foreign,Movies-DVDR,' INDEX(url)
def SEARCHPFTV(murl = '',index=False): encode = main.updateSearchFile(murl,'TV') if not encode: return False surl=BASE_URL2+'search/?q='+encode+'&md=shows' link=main.OPENURL(surl) link=link.replace('\r','').replace('\n','').replace('\t','') match=re.compile(' class="mnlcategorylist"><a href="([^"]+)"><b>([^<]+)</b>',re.DOTALL).findall(link) for url,name in match: main.addDirT(name,BASE_URL2+url,465,'','','','','','',index=index) main.GA(prettyName,"Search")
def SEARCHPFTV(murl="", index=False): encode = main.updateSearchFile(murl, "TV") if not encode: return False surl = BASE_URL2 + "search/?q=" + encode + "&md=shows" link = main.OPENURL(surl) link = link.replace("\r", "").replace("\n", "").replace("\t", "") match = re.compile(' class="mnlcategorylist"><a href="([^"]+)"><b>([^<]+)</b>', re.DOTALL).findall(link) for url, name in match: main.addDirT(name, BASE_URL2 + url, 465, "", "", "", "", "", "", index=index) main.GA(prettyName, "Search")
def SEARCHTV(murl = '',index=False): encode = main.updateSearchFile(murl,'TV') 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' : 't'} ).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) for thumb,url,name in match: main.addDirT(name,url,590,thumb,'','','','','',index=index)
def Search(mname,murl): encode = main.updateSearchFile(mname,'Movies','Search') if not encode: return False surl='http://www.filestube.com/query.html?q=1080p+bluray+-esubs&hosting=25%2C40%2C85&select=mkv&sizefrom=5000&sizeto=20000&sort=dd' link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile(pattern).findall(link) if match: for url,thumb,name in match: if not re.findall('HDTV',name): main.addPlayM(name,url,406,thumb,'','','','','')
def Search(mname,murl): encode = main.updateSearchFile(mname,'Movies','Search') if not encode: return False surl='http://www.filestube.to/query.html?q=1080p+bluray+-esubs&hosting=25%2C40%2C85&select=mkv&sizefrom=5000&sizeto=20000&sort=dd' link=main.OPENURL(surl) link=main.unescapes(link) match=re.compile(pattern).findall(link) if match: for url,thumb,name in match: if not re.findall('HDTV',name): main.addPlayM(name,url,406,thumb,'','','','','') main.GA("FilesTube","Search")
def SEARCHSCEPER(murl = ''): encode = main.updateSearchFile(murl,'Movies',searchMsg='Search For Movies or TV Shows') if not encode: return False surl='http://sceper.ws/search/'+encode+'/' link=main.OPENURL(surl,cookie="sceper") i=0 link=link.replace('\xc2\xa0','').replace('\n','') match=re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url,name in match: name=main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s',name,re.I): main.addPlayTE(name,url,544,'','','','','','') else: main.addPlayM(name,url,544,'','','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCHWS(murl=''): encode = main.updateSearchFile(murl, 'TV') if not encode: return False surl = 'http://watchseries.ag/search/' + encode link = main.OPENURL(surl) link = link.replace('\r', '').replace('\n', '').replace('\t', '') match = re.compile( '<a title=".+?" href="([^<]+)"><b>(.+?)</b></a> <br> <b>Description:</b>(.+?)</td></tr> <tr></tr> <tr><td valign="top"> <a title=".+?<img src="(.+?)"> </a>', re.DOTALL).findall(link) for url, name, desc, thumb in match: main.addDirT(name, 'http://watchseries.ag' + url, 578, thumb, desc, '', '', '', '') main.GA("Watchseries", "Search")
def SEARCHSCENE(encode): if encode=='sec': encode = main.updateSearchFile('','Movies',searchMsg='Search For Movies or TV Shows') if not encode: return False surl='http://www.scenesource.me/?s='+encode+'&x=0&y=0' link=main.OPENURL(surl,mobile=True) i=0 link=link.replace('\xc2\xa0','').replace('\n','') match=re.compile('<a href="([^<]+)" rel="bookmark" title=".+?>([^<]+)</a></h2>').findall(link) for url,name in match: name=main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s',name,re.I): main.addPlayTE(name,url,390,'','','','','','') else: main.addPlayM(name,url,390,'','','','','','') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCHSCEPER(murl=""): main.GA("Sceper", "Search") encode = main.updateSearchFile(murl, "Movies", searchMsg="Search For Movies or TV Shows") if not encode: return False surl = "http://sceper.ws/search/" + encode + "/" link = main.OPENURL(surl, cookie="sceper") i = 0 link = link.replace("\xc2\xa0", "").replace("\n", "") match = re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url, name in match: name = main.CleanTitle(name) if re.findall("(.+?)\ss(\d+)e(\d+)\s", name, re.I): main.addPlayTE(name, url, 544, "", "", "", "", "", "") else: main.addPlayM(name, url, 544, "", "", "", "", "", "") xbmcplugin.setContent(int(sys.argv[1]), "Movies")
def SEARCHTV(murl=''): encode = main.updateSearchFile(murl, 'TV') 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': 't' }).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) for thumb, url, name in match: main.addDirT(name, url, 590, thumb, '', '', '', '', '') main.GA("iWatchonline", "Search")
def SEARCHSCEPER(murl=''): main.GA("Sceper", "Search") encode = main.updateSearchFile(murl, 'Movies', searchMsg='Search For Movies or TV Shows') if not encode: return False surl = 'http://sceper.ws/search/' + encode + '/' link = main.OPENURL(surl, cookie="sceper") i = 0 link = link.replace('\xc2\xa0', '').replace('\n', '') match = re.compile('<a href="([^<]+)">([^<]+)</a></h2>').findall(link) for url, name in match: name = main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I): main.addPlayTE(name, url, 544, '', '', '', '', '', '') else: main.addPlayM(name, url, 544, '', '', '', '', '', '') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def SEARCHSCENE(encode): main.GA(prettyName, "Search") if encode == 'sec': encode = main.updateSearchFile( '', 'Movies', searchMsg='Search For Movies or TV Shows') if not encode: return False surl = 'http://www.scenesource.me/?s=' + encode + '&x=0&y=0' link = main.OPENURL(surl, mobile=True) i = 0 link = link.replace('\xc2\xa0', '').replace('\n', '') match = re.compile( '<a href="([^<]+)" rel="bookmark" title=".+?>([^<]+)</a></h2>' ).findall(link) for url, name in match: name = main.CleanTitle(name) if re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I): main.addPlayTE(name, url, 390, '', '', '', '', '', '') else: main.addPlayM(name, url, 390, '', '', '', '', '', '') xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
def 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 superSearch(searchQuery,type): try: returnList=[] setCookie() try: params = searchQuery.split('#@#', 1 ) page = int(params[1]) searchQuery = params[0] except: page = 0 searchQuery = main.updateSearchFile(searchQuery,'TV') if not searchQuery: return False searchUrl='http://directdownload.tv/index/search/keyword/'+searchQuery+'/qualities/pdtv,dsr,hdtv,realhd,dvdrip,webdl,webdl1080p/from/'+str(page)+'/search' from t0mm0.common.net import Net as net html = net().http_GET(searchUrl).content match=re.compile('{"release":"([^"]+?)","when":.+?,"size":".+?","links":(.+?),"idtvs".+?"quality":"([^"]+?)".+?}').findall(html) for title,url,quality in match: name = processTitle(title,quality) url=url.replace('\/','/') returnList.append((name,prettyName,url,'',62,True)) return returnList except: return []
def SEARCH(url=''): encode = main.updateSearchFile(url, 'TV') if not encode: return False surl = 'http://www.couchtuner.me/?s=' + encode link = main.OPENURL(surl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( '<span class="tvbox"><a href="http://www.couchtuner.me/[^"]+/[^"]+/([^"]+)"><img width="[^"]*" height="[^"]*" src="([^"]*)".+?<span class="tvpost">([^"]*)<br/>' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, thumb, name in match: url = 'http://streamonline.me/' + url main.addDirTE(name, url, 5, thumb, '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait nextpage = re.compile( '<div class="prev-page"><strong>Previous <a href="([^"]*)">[^"]*</a></strong>' ).findall(link) if nextpage: xurl = base_url + nextpage[0] main.addDir('Next Page', xurl, 120, '')
def SEARCH(url=''): encode = main.updateSearchFile(url, 'TV') if not encode: return False surl = 'http://www.couchtuner.la/?s=' + encode link = main.OPENURL(surl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') match = re.compile( '<h2><a href="([^"]*?)" rel="bookmark" title="Watch.+?Online">([^"]*?)</a></h2>' ).findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Show list is cached.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(0, '[B]Will load instantly from now on[/B]', remaining_display) for url, name in match: main.addDirTE(name, url, 9, '', '', '', '', '', '') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100) / totalLinks remaining_display = 'Episodes loaded :: [B]' + str( loadedLinks) + ' / ' + str(totalLinks) + '[/B].' dialogWait.update(percent, '[B]Will load instantly from now on[/B]', remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait nextpage = re.compile( '<div class="prev-page"><strong>Previous <a href="([^"]*)">[^"]*</a></strong>' ).findall(link) if nextpage: xurl = base_url + nextpage[0] main.addDir('Next Page', xurl, 120, '')
def SEARCH(encode): main.GA(prettyName,"Search") encode = main.updateSearchFile('','Movies',searchMsg='Search For Movies') if not encode: return False surl='http://www.catiii.tv/?s='+encode LIST(surl)
def SEARCH(encode): main.GA("Yify","Search") encode = main.updateSearchFile(encode,'Movies','sec','Search For Movies') if not encode: return False surl='http://yify.tv/?s='+encode LIST(surl,1)