def Mplaylists(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') r=re.findall('<poster>(.+?)</poster>',link) if r: vip=r[0] else: vip='Unknown' f=re.findall('<fanart>(.+?)</fanart>',link) if f: fan=f[0] else: fan=art+'/fanart2.jpg' match=re.compile('<name>(.+?)</name><link>(.+?)</link><thumbnail>(.+?)</thumbnail><date>(.+?)</date>').findall(link) for name,url,thumb,date in match: if '</vip>' in url: main.addDirc(name+' [COLOR red] '+date+'[/COLOR]',url,260,thumb,'',fan,'','','') else: main.addDirc(name+' [COLOR red] '+date+'[/COLOR]',url,236,thumb,'',fan,'','','') info=re.findall('<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>',link) if info: for msg,pic in info: main.addLink(msg,'',pic) popup=re.compile('<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>').findall(link) for name,image,thumb in popup: main.addPlayc(name,image,244,thumb,'',fan,'','','') main.GA("MoviePL",vip+"-Directory")
def LIST(mname,murl): main.GA("SominalTv","List") if mname=='Hindi': main.addDir('A-Z','_H',623,"%s/art/wfs/azws.png"%selfAddon.getAddonInfo("path")) main.addDir('Hindi English Subtitled','http://www.sominaltvfilms.com/search/label/Hindi-Movies-English-Subtitles?&max-results=15',620,"%s/art/wfs/subtitled.png"%selfAddon.getAddonInfo("path")) main.addDir('Hindi BluRay','http://www.sominaltvfilms.com/search/label/Hindi-BluRays?&max-results=15',620,"%s/art/wfs/bluray.png"%selfAddon.getAddonInfo("path")) elif mname=='Telugu': main.addDir('A-Z','_T',623,"%s/art/wfs/azws.png"%selfAddon.getAddonInfo("path")) main.addDir('Telugu English Subtitled','http://www.sominaltvfilms.com/search/label/Telugu-Movies-English-Subtitles?&max-results=15',620,"%s/art/wfs/subtitled.png"%selfAddon.getAddonInfo("path")) main.addDir('Telugu BluRay','http://www.sominaltvfilms.com/search/label/Telugu-BluRays?&max-results=15',620,"%s/art/wfs/bluray.png"%selfAddon.getAddonInfo("path")) elif mname=='Tamil': main.addDir('A-Z','_TT',623,"%s/art/wfs/azws.png"%selfAddon.getAddonInfo("path")) main.addDir('Tamil English Subtitled','http://www.sominaltvfilms.com/search/label/Tamil-Movies-English-Subtitles?&max-results=15',620,"%s/art/wfs/subtitled.png"%selfAddon.getAddonInfo("path")) main.addDir('Tamil BluRay','http://www.sominaltvfilms.com/search/label/Tamil-BluRays?&max-results=15',620,"%s/art/wfs/bluray.png"%selfAddon.getAddonInfo("path")) elif mname=='Malayalam': main.addDir('Malayalam English Subtitled','http://www.sominaltvfilms.com/search/label/Malayalam-Movies-English-Subtitles?&max-results=15',620,"%s/art/wfs/subtitled.png"%selfAddon.getAddonInfo("path")) elif mname=='Punjabi': main.addDir('Punjabi English Subtitled','http://www.sominaltvfilms.com/search/label/Punjabi-Movies-English-Subtitles?&max-results=15',620,"%s/art/wfs/subtitled.png"%selfAddon.getAddonInfo("path")) elif mname=='All Hindi Dubbed Movies': main.addDir('Hindi Dubbed BluRay','http://www.sominaltvfilms.com/search/label/Hindi-Dubbed-BluRays?&max-results=15',620,"%s/art/wfs/bluray.png"%selfAddon.getAddonInfo("path")) link=main.OPENURL(murl) 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.addDirc(name,url,621,thumb,desc,fan) paginate = re.compile("""<a class='blog-pager-older-link' href='(.+?)' id='Blog1_blog-pager-older-link' title='Older Posts'><img src='http://3.bp.blogspot.com/-NZpw1vLtyMU/UPxyLMiEanI/AAAAAAAAI1Y/_vDNcnjV7aw/s400/Next.png'/></a>""").findall(link) if len(paginate)>0: main.addDir('Next',paginate[0],620,"%s/art/next2.png"%selfAddon.getAddonInfo("path"))
def Vice(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') match=re.compile('<a class=".+?" href="(.+?)"><img width=".+?" height=".+?" src="(.+?)" /></a> <h2><a href=".+?">(.+?)</a></h2> <p>(.+?)</p>').findall(link) for url,thumb,name,desc in match: url='http://www.vice.com'+url main.addDirc(name,url,105,thumb,desc,'','','','')
def Mplaylists(murl): link = main.OPENURL(murl) link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "") r = re.findall("<poster>(.+?)</poster>", link) if r: vip = r[0] else: vip = "Unknown" f = re.findall("<fanart>(.+?)</fanart>", link) if f: fan = f[0] else: fan = art + "/fanart2.jpg" match = re.compile("<name>(.+?)</name><link>(.+?)</link><thumbnail>(.+?)</thumbnail><date>(.+?)</date>").findall( link ) for name, url, thumb, date in match: if "</vip>" in url: main.addDirc(name + " [COLOR red] " + date + "[/COLOR]", url, 260, thumb, "", fan, "", "", "") else: main.addDirc(name + " [COLOR red] " + date + "[/COLOR]", url, 236, thumb, "", fan, "", "", "") info = re.findall("<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>", link) if info: for msg, pic in info: main.addLink(msg, "", pic) popup = re.compile( "<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>" ).findall(link) for name, image, thumb in popup: main.addPlayc(name, image, 244, thumb, "", fan, "", "", "") main.GA("MoviePL", vip + "-Directory")
def LISTDOC(murl): if murl=='doc1': main.GA("Documantary","DhHome") #main.addDir('[COLOR red]Search[/COLOR]','search',89,'') main.addDir('[COLOR red]Popular[/COLOR]','http://documentaryheaven.com/popular/',89,'') main.addDir('[COLOR red]Recent[/COLOR]','http://documentaryheaven.com/all/',87,'') url='http://documentaryheaven.com/' link=main.OPENURL(url) match=re.compile('<li class=".+?"><a href="(.+?)" title=".+?">(.+?)</a> </li>').findall(link) for url, name in match: main.addDir(name,'http://documentaryheaven.com'+url,87,'') elif murl=='doc2': main.GA("Documantary","TDFHome") main.addDir('[COLOR red]Recent[/COLOR]','http://topdocumentaryfilms.com/all/',87,'') main.addDir('[COLOR red]Recommended[/COLOR]','rec',89,'') url='http://topdocumentaryfilms.com/' link=main.OPENURL(url) match=re.compile('href="(.+?)" title=".+?">(.+?)</a>.+?</li>').findall(link) for url, name in match: main.addDir(name,url,87,'') elif murl=='doc3': main.GA("Documantary","DLHome") main.addDir('[COLOR red]Latest[/COLOR]','http://www.documentary-log.com/',87,'') main.addDir("[COLOR red]Editor's Picks[/COLOR]",'http://www.documentary-log.com/category/editors-picks/',87,'') url='http://www.documentary-log.com/' link=main.OPENURL(url) match=re.compile('<li class="cat-item cat-item-.+?"><a href="(.+?)" title="(.+?)">(.+?)</a> ([^<]+)').findall(link) for url, desc, name, leng in match: main.addDirc(name+' '+leng,url,87,'',desc,'','','','')
def VIPplaylists(murl): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') r = re.findall('<poster>(.+?)</poster>', link) if r: vip = r[0] else: vip = 'Unknown' f = re.findall('<fanart>(.+?)</fanart>', link) if f: fan = f[0] else: fan = art + '/fanart2.jpg' match = re.compile( '<name>(.+?)</name><link>(.+?)</link><thumbnail>(.+?)</thumbnail><date>(.+?)</date>' ).findall(link) for name, url, thumb, date in match: main.addDirc(name + ' [COLOR red] Updated ' + date + '[/COLOR]', url, 182, thumb, '', fan, '', '', '') info = re.findall( '<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>', link) if info: for msg, pic in info: main.addLink(msg, '', pic) popup = re.compile( '<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>' ).findall(link) for name, image, thumb in popup: main.addPlayc(name, image, 244, thumb, '', '', '', '', '') main.GA("Live", vip + "-Playlists")
def Vice(murl): main.GA("Documentary","Vice") link=main.OPENURL(murl) match=re.compile('<a href="(.+?)"><img width=".+?" height=".+?" src="(.+?)" /></a> <h2><a href=".+?">(.+?)</a></h2>\n <p>(.+?)</p>').findall(link) for url,thumb,name,desc in match: url='http://www.vice.com'+url main.addDirc(name,url,105,thumb,desc,'','','','')
def LISTEPI(mname,murl,pic,desc,thumb): link=main.OPENURL(murl, mobile=True) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','').replace(' ','').replace('>Follow @GoGoAnime</a>','') match=re.compile('<li><a href="([^<]+)">(.+?)</a>.+?<span class="right_text">(.+?)</span>',re.DOTALL).findall(link) for url,name,date in match: main.addDirMs(name+' [COLOR red]('+date+')[/COLOR]',url,378,thumb,desc,'','','','') paginate = re.compile('''<a href="([^<]+)">Next</a>''').findall(link) if len(paginate)>0: main.addDirc('Next',paginate[0],377,art+'/next2.png',desc,'','',thumb,'')
def LIST(murl): main.GA("GolfChannel","List") link=main.OPENURL(murl) link=main.unescapes(link) match = re.compile('<div class="field-content"><a href=".+?"><img typeof="foaf:Image" src="([^<]+)" width=".+?" height=".+?" /></a></div> </div> <div class=".+?<a href=".+?">(.+?)</a></span> </div> <div class=".+?<div class="field-content">(.+?)</div> </div> <div class=".+?<li class="views-row views-row-1 views-row-odd views-row-first">(.+?)<div class="clearfix"></div>',re.DOTALL).findall(link) for thumb, name,desc,url in match: thumb=thumb.replace(' ','%20') main.addDirc(name,url,219,thumb,desc,'','','','')
def LIST(murl): main.GA("GolfChannel","List") link=main.OPENURL(murl) link=main.unescapes(link) match = re.compile('<div class="showThumbNailItem .+?<img src="(.+?)" class=".+?" /></a> <h4> <a href=".+?" title=".+?">(.+?)</a> </h4> <small(.+?)/small> <strong>Watch Full Episodes:</strong><br />(.+?)</div>').findall(link) for thumb, name,desc,url in match: thumb=thumb.replace(' ','%20') main.addDirc(name,url,219,thumb,desc,'','','','')
def Vice(murl): main.GA("Documentary", "Vice") link = main.OPENURL(murl) match = re.compile( '<a href="(.+?)"><img width=".+?" height=".+?" src="(.+?)" /></a> <h2><a href=".+?">(.+?)</a></h2>\n <p>(.+?)</p>' ).findall(link) for url, thumb, name, desc in match: url = 'http://www.vice.com' + url main.addDirc(name, url, 105, thumb, desc, '', '', '', '')
def LIST(murl): main.GA("GolfChannel", "List") link = main.OPENURL(murl) link = main.unescapes(link) match = re.compile( '<div class="showThumbNailItem .+?<img src="(.+?)" class=".+?" /></a> <h4> <a href=".+?" title=".+?">(.+?)</a> </h4> <small(.+?)/small> <strong>Watch Full Episodes:</strong><br />(.+?)</div>' ).findall(link) for thumb, name, desc, url in match: thumb = thumb.replace(' ', '%20') main.addDirc(name, url, 219, thumb, desc, '', '', '', '')
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.addDirc(name,url,621,thumb,desc,fan)
def VIPplaylists(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') r=re.findall('<bdposter>(.+?)</bdposter>',link) if r: vip=r[0] else: vip='BDTV' f=re.findall('<fanart>(.+?)</fanart>',link) if f: fan=f[0] else: fan=art+'/fanart2.jpg' match=re.compile('<notify><new>(.+?)</new><mess1>(.+?)</mess1><mess2>(.+?)</mess2><mess3>(.+?)</mess3><old>(.+?)</old></notify>').findall(link) if len(match)>0: for new,mes1,mes2,mes3,old in match: continue if new != ' ': new=vip+new runonce=os.path.join(main.datapath,'RunOnce') notified=os.path.join(runonce,str(new)) if not os.path.exists(notified): open(notified,'w').write('version="%s",'%new) dialog = xbmcgui.Dialog() ok=dialog.ok('[B]'+vip+' Announcement![/B]', str(mes1) ,str(mes2),str(mes3)) if old != ' ': old=vip+old notified=os.path.join(runonce,str(old)) if os.path.exists(notified): os.remove(notified) else: print 'No Messages' else: print 'Github Link Down' match3=re.compile('<name>([^<]+)</name><link>([^<]+)</link><thumbnail>([^<]+)</thumbnail><mode>([^<]+)</mode>').findall(link) for name,url,thumb,mode in match3: if re.findall('http',thumb): thumbs=thumb else: thumbs=art+'/'+thumb+'.png' main.addDir(name,url,int(mode),thumbs) match=re.compile('<name>([^<]+)</name><link>([^<]+)</link><thumbnail>([^<]+)</thumbnail><date>([^<]+)</date>').findall(link) for name,url,thumb,date in match: main.addDirc(name+' [COLOR red] Updated '+date+'[/COLOR]',url,182,thumb,'',fan,'','','') info=re.findall('<info><mess>(.+?)</mess><thumbnail>(.+?)</thumbnail></info>',link) if info: for msg,pic in info: main.addLink(msg,'',pic) popup=re.compile('<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>').findall(link) for name,image,thumb in popup: main.addPlayc(name,image,244,thumb,'','','','','') main.GA("Live",vip+"-Playlists")
def VIP(murl): debriduser = selfAddon.getSetting('hmvusername') debridpass = selfAddon.getSetting('hmvpassword') if debriduser == '' and debridpass == '': dialog = xbmcgui.Dialog() dialog.ok("[COLOR=FF67cc33]MashUp[/COLOR]", "Please set your VIP++ credentials", "in Addon settings under logins tab") selfAddon.openSettings() else: try: rd = debridroutines.RealDebrid(cookie_jar, debriduser, debridpass) if rd.Login(): xbmc.executebuiltin("XBMC.Notification(VIP++,Account login successful.,3000,"+smalllogo+")") durl=re.findall('<vip>(.+?)</vip>',murl)[0] link=main.OPENURL(durl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') r=re.findall('<poster>(.+?)</poster>',link) if r: vip=r[0] else: vip='Unknown' f=re.findall('<fanart>(.+?)</fanart>',link) if f: fan=f[0] else: fan=art+'/fanart2.jpg' match=re.compile('<item><name>([^<]+)</name.+?link>([^<]+)</link.+?thumbnail>([^<]+)</thumbnail.+?username>([^<]+)</username></item>').findall(link) for name,url,thumb,user in match: if debriduser == user or debriduser == 'mash2k3' or debriduser == 'hackermil': main.addDirc(name+' [COLOR red] '+user+'[/COLOR]',url,261,thumb,'',fan,'','','') info=re.findall('<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>',link) if info: for msg,pic in info: main.addLink(msg,'',pic) popup=re.compile('<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>').findall(link) for name,image,thumb in popup: main.addPlayc(name,image,244,thumb,'',fan,'','','') main.GA("Vip++",vip+"-Directory") else: xbmc.executebuiltin("XBMC.Notification(VIP++,Login failed.,3000,"+smalllogo+")") print 'VIP++ Account: login failed' except Exception, e: print '**** VIP++ Error: %s' % e dialog = xbmcgui.Dialog() dialog.ok('VIP++ Login Failed','Failed to connect with Website.','Please check your internet connection.') pass
def MAIN(): main.addPlayc('My XML Channel Instructions', 'nills', 248, art + '/xml.png', '', '', '', '', '') if os.path.exists(xmlPath): xmlfolder = os.path.join(xmlPath, 'MyXmlChannels') try: os.makedirs(xmlfolder) xbmc.executebuiltin( "XBMC.Notification(Attention!,MyXmlChannel Folder Created,5000," ")") except: pass for path, subdirs, files in os.walk(xmlfolder): for filename in files: if re.findall('.xml', filename): name = filename.replace('.xml', '') url = xmlfolder + '/' + filename thumbfile = os.path.join(xmlfolder, name + '.png') if not os.path.exists(thumbfile): thumbfile = os.path.join(xmlfolder, name + '.jpg') fanfile = os.path.join(xmlfolder, name + 'Fanart.png') if not os.path.exists(fanfile): fanfile = os.path.join(xmlfolder, name + 'Fanart.jpg') if os.path.exists(thumbfile): if 'png' in thumbfile: thumb = xmlfolder + '/' + name + '.png' else: thumb = xmlfolder + '/' + name + '.jpg' else: thumb = '' if os.path.exists(fanfile): if 'png' in fanfile: fan = xmlfolder + '/' + name + 'Fanart.png' else: fan = xmlfolder + '/' + name + 'Fanart.jpg' else: fan = '' main.addDirc(name, url, 239, thumb, '', fan, '', '', '') else: dialog = xbmcgui.Dialog() dialog.ok("MashUp", "Please set Custom Xml file Path", "in Addon settings under Custom Channels tab") selfAddon.openSettings()
def LISTEPI(mname, murl, pic, desc, thumb): link = main.OPENURL(murl, mobile=True) link = ( link.replace("\r", "") .replace("\n", "") .replace("\t", "") .replace(" ", "") .replace(" ", "") .replace(">Follow @GoGoAnime</a>", "") ) match = re.compile('<li><a href="([^<]+)">(.+?)</a>.+?<span class="right_text">(.+?)</span>', re.DOTALL).findall( link ) for url, name, date in match: main.addDirMs(name + " [COLOR red](" + date + ")[/COLOR]", url, 378, thumb, desc, "", "", "", "") paginate = re.compile("""<a href="([^<]+)">Next</a>""").findall(link) if len(paginate) > 0: main.addDirc("Next", paginate[0], 377, art + "/next2.png", desc, "", "", thumb, "")
def VIPplaylists(murl): link=main.OPENURL(murl) link=link.replace('\r','').replace('\n','').replace('\t','').replace(' ','') r=re.findall('<poster>(.+?)</poster>',link) if r: vip=r[0] else: vip='Unknown' f=re.findall('<fanart>(.+?)</fanart>',link) if f: fan=f[0] else: fan=art+'/fanart2.jpg' match=re.compile('<name>(.+?)</name><link>(.+?)</link><thumbnail>(.+?)</thumbnail><date>(.+?)</date>').findall(link) for name,url,thumb,date in match: main.addDirc(name+' [COLOR red] Updated '+date+'[/COLOR]',url,182,thumb,'',fan,'','','') info=re.findall('<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>',link) if info: for msg,pic in info: main.addLink(msg,'',pic)
def MAIN(): main.addPlayc('My XML Channel Instructions','nills',248,art+'/xml.png','','','','','') if os.path.exists(xmlPath): xmlfolder=os.path.join(xmlPath,'MyXmlChannels') try: os.makedirs(xmlfolder) xbmc.executebuiltin("XBMC.Notification(Attention!,MyXmlChannel Folder Created,5000,"")") except: pass for path, subdirs, files in os.walk(xmlfolder): for filename in files: if re.findall('.xml',filename): name =filename.replace('.xml','') url=xmlfolder+'/'+filename thumbfile=os.path.join(xmlfolder,name+'.png') if not os.path.exists(thumbfile): thumbfile=os.path.join(xmlfolder,name+'.jpg') fanfile=os.path.join(xmlfolder,name+'Fanart.png') if not os.path.exists(fanfile): fanfile=os.path.join(xmlfolder,name+'Fanart.jpg') if os.path.exists(thumbfile): if 'png' in thumbfile: thumb=xmlfolder+'/'+name+'.png' else: thumb=xmlfolder+'/'+name+'.jpg' else: thumb='' if os.path.exists(fanfile): if 'png' in fanfile: fan=xmlfolder+'/'+name+'Fanart.png' else: fan=xmlfolder+'/'+name+'Fanart.jpg' else: fan='' main.addDirc(name,url,239,thumb,'',fan,'','','') else: dialog = xbmcgui.Dialog() dialog.ok("MashUp", "Please set Custom Xml file Path", "in Addon settings under Custom Channels tab") selfAddon.openSettings()
def LISTDOC(murl): if murl == 'doc1': main.GA("Documantary", "DhHome") #main.addDir('[COLOR red]Search[/COLOR]','search',89,'') main.addDir('[COLOR red]Popular[/COLOR]', 'http://documentaryheaven.com/popular/', 89, '') main.addDir('[COLOR red]Recent[/COLOR]', 'http://documentaryheaven.com/all/', 87, '') url = 'http://documentaryheaven.com/' link = main.OPENURL(url) match = re.compile( '<li class=".+?"><a href="(.+?)" title=".+?">(.+?)</a> </li>' ).findall(link) for url, name in match: main.addDir(name, 'http://documentaryheaven.com' + url, 87, '') elif murl == 'doc2': main.GA("Documantary", "TDFHome") main.addDir('[COLOR red]Recent[/COLOR]', 'http://topdocumentaryfilms.com/all/', 87, '') main.addDir('[COLOR red]Recommended[/COLOR]', 'rec', 89, '') url = 'http://topdocumentaryfilms.com/' link = main.OPENURL(url) match = re.compile( 'href="(.+?)" title=".+?">(.+?)</a>.+?</li>').findall(link) for url, name in match: main.addDir(name, url, 87, '') elif murl == 'doc3': main.GA("Documantary", "DLHome") main.addDir('[COLOR red]Latest[/COLOR]', 'http://www.documentary-log.com/', 87, '') main.addDir("[COLOR red]Editor's Picks[/COLOR]", 'http://www.documentary-log.com/category/editors-picks/', 87, '') url = 'http://www.documentary-log.com/' link = main.OPENURL(url) match = re.compile( '<li class="cat-item cat-item-.+?"><a href="(.+?)" title="(.+?)">(.+?)</a> ([^<]+)' ).findall(link) for url, desc, name, leng in match: main.addDirc(name + ' ' + leng, url, 87, '', desc, '', '', '', '')
def Mplaylists(murl): link = main.OPENURL(murl) link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(' ', '') r = re.findall('<poster>(.+?)</poster>', link) if r: vip = r[0] else: vip = 'Unknown' f = re.findall('<fanart>(.+?)</fanart>', link) if f: fan = f[0] else: fan = art + '/fanart2.jpg' match = re.compile( '<notify><new>(.+?)</new><message1>(.+?)</message1><message2>(.+?)</message2><message3>(.+?)</message3><old>(.+?)</old></notify>' ).findall(link) if len(match) > 0: for new, mes1, mes2, mes3, old in match: continue if new != ' ': new = vip + new runonce = os.path.join(main.datapath, 'RunOnce') notified = os.path.join(runonce, str(new)) if not os.path.exists(notified): open(notified, 'w').write('version="%s",' % new) dialog = xbmcgui.Dialog() ok = dialog.ok('[B]' + vip + ' Announcement![/B]', str(mes1), str(mes2), str(mes3)) if old != ' ': old = vip + old notified = os.path.join(runonce, str(old)) if os.path.exists(notified): os.remove(notified) else: print 'No Messages' else: print 'Github Link Down' match = re.compile( '<name>(.+?)</name><link>(.+?)</link><thumbnail>(.+?)</thumbnail><date>(.+?)</date>' ).findall(link) for name, url, thumb, date in match: if '</vip>' in url: main.addDirc(name + ' [COLOR red] ' + date + '[/COLOR]', url, 260, thumb, '', fan, '', '', '') else: main.addDirc(name + ' [COLOR red] ' + date + '[/COLOR]', url, 236, thumb, '', fan, '', '', '') info = re.findall( '<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>', link) if info: for msg, pic in info: main.addLink(msg, '', pic) popup = re.compile( '<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>' ).findall(link) for name, image, thumb in popup: main.addPlayc(name, image, 244, thumb, '', fan, '', '', '') main.GA("MoviePL", vip + "-Directory")
def VIP(murl): debriduser = selfAddon.getSetting('hmvusername') debridpass = selfAddon.getSetting('hmvpassword') if debriduser == '' and debridpass == '': dialog = xbmcgui.Dialog() dialog.ok("[COLOR=FF67cc33]MashUp[/COLOR]", "Please set your VIP++ credentials", "in Addon settings under logins tab") selfAddon.openSettings() else: try: rd = debridroutines.RealDebrid(cookie_jar, debriduser, debridpass) if rd.Login(): xbmc.executebuiltin( "XBMC.Notification(VIP++,Account login successful.,3000," + smalllogo + ")") durl = re.findall('<vip>(.+?)</vip>', murl)[0] link = main.OPENURL(durl) link = link.replace('\r', '').replace('\n', '').replace( '\t', '').replace(' ', '') r = re.findall('<poster>(.+?)</poster>', link) if r: vip = r[0] else: vip = 'Unknown' f = re.findall('<fanart>(.+?)</fanart>', link) if f: fan = f[0] else: fan = art + '/fanart2.jpg' match = re.compile( '<item><name>([^<]+)</name.+?link>([^<]+)</link.+?thumbnail>([^<]+)</thumbnail.+?username>([^<]+)</username></item>' ).findall(link) for name, url, thumb, user in match: if debriduser == user or debriduser == 'mash2k3' or debriduser == 'hackermil': main.addDirc( name + ' [COLOR red] ' + user + '[/COLOR]', url, 261, thumb, '', fan, '', '', '') info = re.findall( '<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>', link) if info: for msg, pic in info: main.addLink(msg, '', pic) popup = re.compile( '<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>' ).findall(link) for name, image, thumb in popup: main.addPlayc(name, image, 244, thumb, '', fan, '', '', '') main.GA("Vip++", vip + "-Directory") else: xbmc.executebuiltin( "XBMC.Notification(VIP++,Login failed.,3000," + smalllogo + ")") print 'VIP++ Account: login failed' except Exception, e: print '**** VIP++ Error: %s' % e dialog = xbmcgui.Dialog() dialog.ok('VIP++ Login Failed', 'Failed to connect with Website.', 'Please check your internet connection.') pass