def LISTINT3(url): urllist=['http://www.cinevip.org/','http://www.cinevip.org/page/2','http://www.cinevip.org/page/3','http://www.cinevip.org/page/4','http://www.cinevip.org/page/5','http://www.cinevip.org/page/6','http://www.cinevip.org/page/7','http://www.cinevip.org/page/8','http://www.cinevip.org/page/9','http://www.cinevip.org/page/10'] dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(urllist) loadedLinks = 0 remaining_display = 'Pages loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Loading....[/B]',remaining_display) for murl in urllist: link=main.OPENURL(murl) match=re.compile('<a class="entry-thumbnails-link" href="(.+?)"><img width=".+?" height=".+?" src="(.+?)" class=".+?" alt=".+? Genero:(.+?) Titulo:.+? Info:(.+?) Sinopsis:(.+?)" title="(.+?)" />').findall(link) for url,thumb,genre,lang,desc,name in match: lang ='[COLOR red]'+lang+'[/COLOR]' lang = lang.replace('Audio','').replace('Español','').replace('Subtitulos','[COLOR blue]Sub(ESP)[/COLOR]').replace('DVDRip','') name=name.replace(') Online','').replace('Ver ','') name=name+')' main.addSport(name+' '+lang,url,67,thumb,desc,'',genre) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Pages loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Loading....[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("INT","Cinevip")
def LISTDOCPOP(murl): if murl=='search': keyb = xbmc.Keyboard('', 'Search Documentaries') keyb.doModal() if (keyb.isConfirmed()): search = keyb.getText() encode=urllib.quote(search) surl='http://documentaryheaven.com/?s='+encode link=main.OPENURL(surl) match=re.compile('<a href="(.+?)" title="" rel=".+?"><img class=".+?" src="(.+?)" alt="(.+?)".+?</a>\n </div> \n <div id="postDis">\n \t(.+?)[...]').findall(link) if (len(match)==0): match=re.compile('href="(.+?)" title="" rel=".+?"><img class=".+?" src="(.+?)" alt="(.+?)".+?</a>\n </div> \n <div id="postDis">\n \t(.+?)[...]').findall(link) for url,thumb,name,desc in match: main.addSport(name,url,88,thumb,desc,'','') paginate=re.compile("<span class=\'page current\'>1</span></li><li><a href=\'http://documentaryheaven.com/page/2/.?s=.+?\'").findall(link) if (len(paginate)>0): main.addDir('[COLOR blue]Page 2[/COLOR]','http://documentaryheaven.com/page/2/?s='+encode,9,"%s/art/next2.png"%selfAddon.getAddonInfo("path")) elif murl=='rec': rurl='http://topdocumentaryfilms.com/' link=main.OPENURL(rurl) match=re.compile('href="([^<]+)">([^<]+)</a></li><li><a').findall(link) for url,name in match: main.addPlay(name,url,88,'') else: link=main.OPENURL(murl) match=re.compile("<li><a href='(.+?)'>(.+?)</a></li>").findall(link) for url,name in match: main.addPlay(name,url,88,'')
def YOUList(mname,durl): murl='https://gdata.youtube.com/feeds/api/playlists/'+durl+'?start-index=1&max-results=50' link=main.OPENURL(murl) match=re.compile("href='https://m.youtube.com/details.?v=(.+?)'/.+?<media\:descriptio[^>]+>([^<]+)</media\:description>.+?<media\:thumbnail url='([^']+)'.+?<media:title type='plain'>(.+?)/media:title>").findall(link) for url,desc,thumb,name in match: name=name.replace('<','') main.addSport(name,url,206,thumb,desc,'','') main.GA(mname,"Youtube-List")
def LISTWB(murl): furl='http://staticswf.kidswb.com/kidswb/xml/videofeedlight.xml' link=main.OPENURL(furl) link=link.replace('"','').replace(''','').replace('×','').replace('&','').replace('‘','').replace('–','').replace('“','').replace('”','').replace('—','').replace('&','&').replace("`",'') match = re.compile('<item><media:title>([^<]+)</media:title><media:description>([^<]+)</media:description><guid isPermaLink="false">([^<]+)</guid><av:show season="1">'+murl+'</av:show><media:thumbnail url="([^<]+)"/></item>').findall(link) for name,desc,url,thumb in match: main.addSport(name,url,79,thumb,desc,'','') main.GA("WB","List")
def TSNLIST(murl): main.GA("TSN","TSN-list") murl=murl+'&pageSize=200' link=main.OPENURL(murl) match = re.compile('<id>(.+?)</id>.+?<title><(.+?)></title><description><(.+?)></description><imgUrl>(.+?)</imgUrl>').findall(link) for url,name,desc,thumb in match: name=name.replace('![CDATA[','').replace(']]','').replace('/',' ') desc=desc.replace('![CDATA[','').replace(']]','').replace('/',' ') main.addSport(name,url,98,thumb,desc,'','')
def FOXSOCList(murl): main.GA("FoxSoccer","List") link=main.OPENURL(murl) match=re.compile('<video xmlns=".+?">(.+?)</video>').findall(link) for entry in match: name=re.compile('<title>([^<]+)</title>').findall(entry) desc=re.compile('<description>([^<]+)</description>').findall(entry) thumb=re.compile('<file formatCode="2001".+?<uri>([^<]+)</uri></file>').findall(entry) main.addSport(name[0],entry,126,thumb[0],desc[0],'','')
def LISTDOC2(murl): match=re.compile('documentaryheaven').findall(murl) if (len(match)>0): main.GA("DhHome","Dh-List") link=main.OPENURL(murl) match=re.compile('<a href="(.+?)" title="" rel=".+?"><img class=".+?" src="(.+?)" alt="(.+?)".+?</a>\n </div> \n <div id="postDis">\n \t(.+?)[...]').findall(link) if (len(match)==0): match=re.compile('href="(.+?)" title="" rel=".+?"><img class=".+?" src="(.+?)" alt="(.+?)".+?</a>\n </div> \n <div id="postDis">\n \t(.+?)[...]').findall(link) for url,thumb,name,desc in match: #main.addDir(name,url,88,thumb) main.addSport(name,url,88,thumb,desc,'','') paginate=re.compile("class='page current'>1</span></li><li><a href='http://documentaryheaven.com/.+?/page/2/'").findall(link) if (len(paginate)>0): main.addDir('[COLOR blue]Page 2[/COLOR]',murl+'page/2/',87,"%s/art/next2.png"%selfAddon.getAddonInfo("path")) else: paginate=re.compile('http://documentaryheaven.com/(.+?)/page/(.+?)/').findall(murl) for section, page in paginate: pg= int(page) +1 xurl = 'http://documentaryheaven.com/' + str(section) + '/page/'+ str (pg) + '/' main.addDir('[COLOR blue]Page '+ str(pg)+'[/COLOR]',xurl,87,"%s/art/next2.png"%selfAddon.getAddonInfo("path")) match2=re.compile('topdocumentaryfilms').findall(murl) if (len(match2)>0): i=0 main.GA("TDFHome","TDF-List") link=main.OPENURL(murl) link=link.replace('\n','') url=re.compile('href="([^<]+)">Watch now').findall(link) match=re.compile('href=".+?".+?src="(.+?)".+?alt="(.+?)"').findall(link) desc=re.compile('>([^<]+)</p><p><strong>').findall(link) for thumb,name in match: #main.addDir(name,url,88,thumb) main.addSport(name,url[i],88,thumb,desc[i],'','') i=i+1 paginate=re.compile('</a>.+?href="([^<]+)">Next</a></div>').findall(link) if (len(paginate)>0): for purl in paginate: main.addDir('[COLOR blue]Next[/COLOR]',purl,87,"%s/art/next2.png"%selfAddon.getAddonInfo("path")) match3=re.compile('documentary-log').findall(murl) if (len(match3)>0): main.GA("DLHome","DL-List") i=0 link=main.OPENURL(murl) match=re.compile('<img src="(.+?)" alt="(.+?)" class=".+?" />\n').findall(link) url=re.compile('<h2 class="title-1">\n <a href="([^<]+)" title=').findall(link) desc=re.compile('<p>([^<]+)<').findall(link) for thumb,name in match: main.addPlay2(name,url[i],88,thumb,desc[i]) i=i+1 paginate=re.compile("<a href='([^<]+)' class='nextpostslink'>").findall(link) if (len(paginate)>0): for purl in paginate: main.addDir('[COLOR blue]Next[/COLOR]',purl,87,"%s/art/next2.png"%selfAddon.getAddonInfo("path"))
def LISTEXgenre(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\xc2\xa0','') match=re.compile('<a itemprop="url" href="(.+?)" rel=".+?" title="Permanent Link to (.+?)"><img itemprop="thumbnailUrl" alt=".+?" class="smallposter" src="(.+?)"></a>.+?<span itemprop="description">(.+?)</span>').findall(link) if len(match)==0: match = re.compile('<h1 class="post-title"><a href="([^<]+)" rel=".+?" title=".+?">([^<]+)</a></h1><img style=.+? src="(.+?)">(.+?)<div').findall(link) for url, name, thumb,desc in match: main.addSport(name,url,536,thumb,desc,'','') paginate = re.compile("<a href='([^<]+)' class='nextpostslink'>»</a>").findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],531,"%s/art/next2.png"%selfAddon.getAddonInfo("path")) main.GA("Extramina","Recent")
def LISTFMA(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<img class=\'.+?\' src=\'(.+?)\' alt=\'.+?\' />.+?<a class=\'.+?\' href=\'/(.+?)\'>(.+?)</a>.+?<a href=\'/movies/year/.+?\'>(.+?)</a>.+?<a href=\'/movies/genre/.+?\'>(.+?)</a>.+?</span><span class=".+?">(.+?)</span>').findall(link) for thumb,url,name, year, gen, desc in match: durl = 'http://www.freemoviesaddict.com/'+url main.addSport(name,durl,569,thumb,desc,year,gen) paginate = re.compile('<span class="pagination_next"><a class="pagination_link" href="(.+?)">').findall(link) if len(paginate)>0: main.addDir('Next','http://www.freemoviesaddict.com/'+paginate[0],568,"%s/art/next2.png"%selfAddon.getAddonInfo("path")) main.GA("FMA","list") xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
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) for url,thumb,name,desc in match: main.addSport(name,url,588,thumb,desc,'','') 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,"%s/art/next2.png"%selfAddon.getAddonInfo("path")) xbmcplugin.setContent(int(sys.argv[1]), 'Movies') main.VIEWS()
def EPILIST(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') descs=re.compile('<img src=".+?" width=".+?" height=".+?" alt=".+?" align=".+?" style=".+?"/>(.+?)</p>').findall(link) if len(descs)>0: desc=descs[0] else: desc='' thumbs=re.compile('<img src="(.+?)" width=".+?" height=".+?" alt=".+?" align=".+?" style=".+?"/>').findall(link) if len(thumbs)>0: thumb=thumbs[0] else: thumb='' match = re.compile('<li><a href="(.+?)" rel="bookmark" title=".+?">(.+?)</a></li>').findall(link) for url, name in match: main.addSport(name,url,617,thumb,desc,'','')
def iWatchEpisode(mname,murl): seanum = mname.split('n ')[1] link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') descs=re.compile('<meta name="description" content="(.+?)">').findall(link) if len(descs)>0: desc=descs[0] else: desc='' thumbs=re.compile('<div class="movie-cover span2"><img src="(.+?)" alt=".+?" class=".+?" />').findall(link) if len(thumbs)>0: thumb=thumbs[0] else: thumb='' match=re.compile('<td class="sideleft"><a href="([^<]+)"><i class="icon-play-circle"></i>(.+?)</a></td> <td>(.+?)</td>').findall(link) for url,epi,name in match: sea=re.compile('s'+str(seanum)).findall(url) if len(sea)>0: main.addSport(epi+' "'+name+'"',url,588,thumb,desc,'','')
def LISTSCEPER(name,murl): main.GA("Sceper","List") link=main.OPENURL(murl) i=0 audiolist=[] desclist=[] genrelist=[] link=link.replace('\xc2\xa0','').replace('\n','') audio=re.compile('>Audio:</.+?>(.+?)<b').findall(link) if len(audio)>0: for aud in audio: aud=aud.replace('</span><span style="font-family: arial"> ','').replace('<span style="color: #ff0000;">','').replace('</span>','').replace('<span style="color: #ff9900">','').replace('<span style="color: #ff6600">','').replace('<span style="color: #ff0000">','').replace('</span><span style="font-family: arial">','').replace('<span style="font-family: arial">','').replace('<span style="font-family: arial;">','') audiolist.append(aud) else: audiolist.append('Audio Unknown') descr=re.compile('>Release Description</div><p>(.+?)</p>').findall(link) if len(descr)>0: for desc in descr: desc=desc.replace('</span><span style="font-family: arial"> ','').replace('<span style="color: #ff0000;">','').replace('</span>','') desclist.append(desc) else: desclist.append('Description Unavailable') genre=re.compile('>Genre:</span>(.+?)<br').findall(link) if len(genre)>0: for gen in genre: gen=gen.replace('</span><span style="font-family: arial"> ','').replace('<span style="color: #ff0000;">','').replace('</span>','') genrelist.append(gen) else: genrelist.append('Genre Unknown') match=re.compile('<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class=".+?">\t\t\t\t<div class=".+?">Release Info</div><p><a href="(.+?)"').findall(link) for url,name,thumb in match: if len(audiolist)<8: audiolist.append('Audio Unknown') if len(desclist)<8: desclist.append('Description Unavailable') if len(genrelist)<8: genrelist.append('Genre Unknown') main.addSport(name+' [COLOR red]'+audiolist[i]+'[/COLOR]',url,544,thumb,desclist[i],'',genrelist[i]) i=i+1 paginate = re.compile('<a href=\'([^<]+)\' class=\'nextpostslink\'>').findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],541,"%s/art/next2.png"%selfAddon.getAddonInfo("path"))
def ESPNList(murl): link=main.OPENURL(murl) match=re.compile('"videoDuration":"(.+?)",.+?"video":.+?{"headline":"(.+?)",.+?,"includePlatforms":.+?,"imageUrl":"(.+?)","mobileSubHead":"(.+?)","internalUrl720p":"(.+?)",').findall(link) dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Sports list is loaded.') totalLinks = len(match) loadedLinks = 0 remaining_display = 'Videos loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Loading....[/B]',remaining_display) for dur,name,thumb,desc, url, in match: print "1st "+name url=url+'xovc'+desc+'xovc'+thumb+'xovc' main.addSport(name,url,46,thumb,desc,dur,'') loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Videos loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Loading....[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("ESPN","ESPN-List")
def LISTSP(murl): urllist=['http://oneclickwatch.org/category/movies/','http://oneclickwatch.org/category/movies/page/2/','http://oneclickwatch.org/category/movies/page/3/','http://oneclickwatch.org/category/movies/page/4/','http://oneclickwatch.org/category/movies/page/5/','http://oneclickwatch.org/category/movies/page/6/','http://oneclickwatch.org/category/movies/page/7/','http://oneclickwatch.org/category/movies/page/8/','http://oneclickwatch.org/category/movies/page/9/','http://oneclickwatch.org/category/movies/page/10/','http://oneclickwatch.org/category/movies/page/11/','http://oneclickwatch.org/category/movies/page/12/'] dialogWait = xbmcgui.DialogProgress() ret = dialogWait.create('Please wait until Movie list is cached.') totalLinks = len(urllist) loadedLinks = 0 remaining_display = 'Pages loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(0,'[B]Loading....[/B]',remaining_display) for murl in urllist: link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace('\xc3\xaa','e').replace('\xc3\xa0','a') match=re.compile('<a href="([^<]+)" title="(.+?)".+? src="(.+?)" .+?/><br />(.+?)<br />Plot:(.+?)<.+?Genre</strong>: (.+?)<br />').findall(link) for url,sitename,thumb,name,desc,gen in match: main.addSport(name,url,134,thumb,desc,'',gen) loadedLinks = loadedLinks + 1 percent = (loadedLinks * 100)/totalLinks remaining_display = 'Pages loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].' dialogWait.update(percent,'[B]Loading....[/B]',remaining_display) if (dialogWait.iscanceled()): return False dialogWait.close() del dialogWait main.GA("HD","Oneclickwatch")
def OCList(murl): link=main.OPENURL(murl) match=re.compile('<item><titl[^>]+>([^<]+)</title><description>(.+?)</description>.+?<plrelease:url>(.+?)</plrelease:url></plfile:release></media:content><pubDate>.+?</pubDate><plmedia:defaultThumbnailUrl>(.+?)</plmedia:defaultThumbnailUrl>').findall(link) for name,desc,url,thumb in match: main.addSport(name,url,52,thumb,desc,'','') main.GA("Sports","OC-List")