def vex_cats(url): html = process.OPEN_URL(url) match = re.compile( '<li class="cat-item cat-item.+?href="(.+?)">(.+?)</a>.+?</li>', re.DOTALL).findall(html) for url, name in match: process.Menu(name, url, 100, ICON, FANART, '', '')
def watchmygf_cats(url): html = process.OPEN_URL(url) match = re.compile( 'class="item-link".+?href="(.+?)".+?img.+?class="thumb".+?src="(.+?)".+?alt="(.+?)"', re.DOTALL).findall(html) for url, img, name in match: process.Menu(img, url, 1020, img, FANART, '', '')
def Youtube_Playlist_Grab_Duration(url): #Need to view the playlist to use this one (as a list on page) max 100 vids HTML = process.OPEN_URL(url) block_set = re.compile('<tr class="pl-video yt-uix-tile(.+?)</tr>', re.DOTALL).findall(HTML) for block in block_set: image = re.compile('data-thumb="(.+?)"').findall(str(block)) for image in image: image = image name = re.compile('data-title="(.+?)"').findall(str(block)) for name in name: name = (name).replace('"', '').replace(''', '\'').replace('&', '&') duration = re.compile( '<div class="timestamp"><span aria-label=".+?">(.+?)</span>' ).findall(str(block)) for duration in duration: duration = duration url = re.compile('data-video-ids="(.+?)"').findall(str(block)) for url in url: url = url if 'elete' in name: pass elif 'rivate Vid' in name: pass else: process.Play( '[COLORred]' + str(duration) + '[/COLOR] : ' + str(name), 'plugin://plugin.video.youtube/play/?video_id=' + str(url), 401, str(image), '', '', '')
def porn300_cats(url): html = process.OPEN_URL(url) block = re.compile('class="grid grid--categories(.+?)id="techpump-paginator-ajax',re.DOTALL).findall(html) match = re.compile('href="(.+?)".+?gtmname="(.+?)".+?src="(.+?)".+?</li>',re.DOTALL).findall(str(block)) for url,name,img in match: url = 'https://www.porn300.com'+url process.Menu(name,url,1009,img,FANART,'','')
def porn300_starz(url): html = process.OPEN_URL(url) match = re.compile('class="grid__item grid__item--pornstar-thumb".+?href="(.+?)".+?image" src=(.+?)alt="(.+?)".+?</ul>.+?</li>',re.DOTALL).findall(html) for url,img,name in match: # vid_count = vid_count.strip() url = 'https://www.porn300.com'+url process.Menu(name,url,1009,img,FANART,'','')
def previou_shows(name, url): html = process.OPEN_URL(url) block = re.compile( 'class="section-heading">Previous Episodes</h2>.+?class="pagination"', re.DOTALL).findall(html) match = re.compile( 'class="podcast-episode-container">.+?class="podcast-episode-published-date".+?href=".+?">(.+?)</a></h3>.+?<p>(.+?)<span class="toggleable-podcast-episode-body hidden">(.+?)</span>.+?source src="(.+?)">', re.DOTALL).findall(str(block)) for name, desc1, desc2, url in match: description = desc1 + desc2 name = name.replace('•', ':') name = name.replace('BiggerPockets Podcast ', '') name = name.replace('\\xe2\\x80\\x9c', '') name = name.replace('\\xe2\\x80\\x9d', '') name = name.replace('\\xe2\\x80\\x94', ' ') Play(name, url, 20, ICON, FANART, description, '') next = re.compile( 'class="pagination".+?class="next-page"><a class="next-page".+?href="(.+?)">' ).findall(html) for item in next: print item url = 'https://www.biggerpockets.com' + item process.Menu( 'Next Page', url, 106, 'https://s3.amazonaws.com/peoplepng/wp-content/uploads/2018/07/15065756/Next-Page-PNG-High-Quality-Image.png', FANART, '', '')
def open_normal(name, url, iconimage, fanart, description): html = process.OPEN_URL(url) match2 = re.compile( '<a href="(.+?)" target="_blank"><img src="(.+?)" style="max-width:200px;" /><description = "(.+?)" /><background = "(.+?)" </background></a><br><b>(.+?)</b>' ).findall(html) for url, iconimage, desc, fanart, name in match2: process.Play(name, url.replace(' ', '%20'), 401, iconimage, fanart, description, '')
def yd_playlinks(url): html = process.OPEN_URL(url) match = re.compile('class="metaframe.+?src="(.+?)"\s*frameborder',re.DOTALL).findall(html) for link in match: host = link.split('//')[1].replace('www.','') host = host.split('/')[0].lower() host = host.split('.')[0] process.PLAY(host,link,19,'','','','')
def release(): html = process.OPEN_URL(base) match = re.compile('<span>Years</span>(.+?)</div>', re.DOTALL).findall(html) match2 = re.compile('href="(.+?)">(.+?)</a>', re.DOTALL).findall(str(match)) for url, name in match2: process.Menu(name, url, 100, ICON, FANART, '', '')
def genre(): html = process.OPEN_URL(base) match = re.compile('<span>Genres</span>.+?<ul class="reset">(.+?)</div>', re.DOTALL).findall(html) match2 = re.compile('href="(.+?)">(.+?)</a>', re.DOTALL).findall(str(match)) for url, name in match2: process.Menu(name, url, 100, ICON, FANART, '', '')
def in_cat(url): html = process.OPEN_URL(url) match = re.compile('<li>.+?href="(.+?)".+?img src="(.+?)".+?rel="bookmark">(.+?)</a>.+?</li>',re.DOTALL).findall(html) for url,img,name in match: process.Menu(name,url,101,img,FANART,'','') next_page= re.compile('<span class=\'current\'.+?class="page larger" title=.+?href="(.+?)".+?</a>',re.DOTALL).findall(html) for page in next_page: process.Menu('Next Page',page,103,ICON,FANART,'','')
def Pandoras_Box(url): List = [] html = process.OPEN_URL(url) match = re.compile( '<item>.+?<title>(.+?)</title>.+?<description>(.+?)</description>.+?<link>(.+?)</link>.+?<thumbnail>(.+?)</thumbnail>.+?<fanart>(.+?)</fanart>.+?</item>', re.DOTALL).findall(html) for name, desc, url, img, fanart in match: if 'php' in url: if name == '[COLOR darkgoldenrod][I]Movies[/I][/COLOR]': process.Menu(name, url, 3, img, fanart, desc, '') elif name == '[COLOR darkgoldenrod][I]TV Shows[/I][/COLOR]': process.Menu(name, url, 2, img, fanart, desc, '') elif name == '[COLOR darkgoldenrod][I]Recently Added TV[/I][/COLOR]': process.Menu(name, url, 19, img, fanart, desc, '') elif name == '[COLOR darkgoldenrod][I]Recently Added Movies[/I][/COLOR]': process.Menu(name, url, 19, img, fanart, desc, '') else: process.Menu(name, url, 400, img, fanart, desc, '') match2 = re.compile( '<a href="(.+?)" target="_blank"><img src="(.+?)" style="max-width:200px;" /><description = "(.+?)" /><background = "(.+?)" </background></a><br><b>(.+?)</b>' ).findall(html) for url, iconimage, desc, fanart, name in match2: if 'php' in url: process.Menu(name, url.replace(' ', '%20'), 400, iconimage, fanart, desc, '') elif not 'http' in url: if len(url) == 11: url = 'plugin://plugin.video.youtube/play/?video_id=' + url process.Play(name, url, 401, iconimage, fanart, desc, '') elif 'utube' in url and 'playlist' in url: process.Menu(name, url, 18, iconimage, fanart, desc, '') elif 'sportsdevil:' in url: url = 'plugin://plugin.video.SportsDevil/?mode=1&item=catcher%3dstreams%26url=' + url.replace( 'sportsdevil:', '') process.Play(name, url, 401, iconimage, fanart, desc, '') elif 'f4mtester:' in url: if '.f4m' in i.string: url = 'plugin://plugin.video.f4mTester/?url=' + url elif '.m3u8' in i.string: url = 'plugin://plugin.video.f4mTester/?url=' + url + '&streamtype=HLS' else: url = 'plugin://plugin.video.f4mTester/?url=' + url + '&streamtype=SIMPLE' process.Play(name, url, 401, iconimage, fanart, desc, '') elif 'sublink:' in url: process.Play(name, url, 15, iconimage, fanart, desc, '') elif name == '[COLOR darkgoldenrod][I]Recently Added TV[/I][/COLOR]': process.Play(name, url.replace(' ', '%20'), 401, iconimage, fanart, desc, '') elif name == '[COLOR darkgoldenrod][I]Recently Added Movies[/I][/COLOR]': process.Play(name, url.replace(' ', '%20'), 401, iconimage, fanart, desc, '') else: process.Play(name, url.replace(' ', '%20'), 401, iconimage, fanart, desc, '') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE) xbmcplugin.setContent(addon_handle, 'movies')
def get_shop_eps(url, img): html = process.OPEN_URL(url) match = re.compile( '<a class="episode episode_series_link active"(.+?)<div class="section-header">', re.DOTALL).findall(html) match2 = re.compile('href="(.+?)">(.+?)</a>', re.DOTALL).findall(str(match)) for url, name in match2: Menu('Episode ' + name, url, 101, img, FANART, '', '')
def pervclips_vids(url): html = process.OPEN_URL(url) match = re.compile('itemprop="url" href="(.+?)".+?data-poster="(.+?)" data-id="1061255975" data-src="(.+?)".+?alt="(.+?)".+?</div>',re.DOTALL).findall(html) for url,img,vid_link,name in match: if '.gif' in img: img = re.compile('data-original="(.+?)".+?width=',re.DOTALL).findall(str(rest))[0] process.PLAY(name,url,1016,img,FANART,'','') else: process.PLAY(name,url,1016,img,FANART,'','')
def recent(name, url): html = process.OPEN_URL(url) match = re.compile( 'class="latest-episode-published-date">(.+?)</span>.+?</h3>.+?<p>(.+?)<span class="toggleable-podcast-episode-body hidden">(.+?)</span>.+?<source src="(.+?)">', re.DOTALL).findall(html) for name, desc1, desc2, url in match: description = desc1 + desc2 process.PLAY(name.replace('•', ':'), url, 20, ICON, FANART, description, '')
def vids(url): html = process.OPEN_URL(url) block = re.compile('class="wp-caption alignnone".+?src="(.+?)" alt="(.+?)".+?href="(.+?)".+?</p>',re.DOTALL).findall(html) # match = re.compile('<li>.+?href="(.+?)".+?img style=".+?alt="(.+?)".+?src="(.+?)".+?style="border-bottom.+?</li>',re.DOTALL).findall(str(block)) for img,name,url in block: name = name.replace('’','\'') process.Menu(name,url,101,img,FANART,'','') next_page= re.compile('<span class=\'current\'.+?class="page larger" title=.+?href="(.+?)".+?</a>',re.DOTALL).findall(html) for page in next_page: process.Menu('Next Page',page,100,ICON,FANART,'','')
def porn300_channels(url): html = process.OPEN_URL(url) match = re.compile('class="grid__item grid__item--producer".+?href="(.+?)".+?image" src="(.+?)" alt="(.+?)".+?</a>.+?</li>',re.DOTALL).findall(html) for url,img,name in match: url = 'https://www.porn300.com'+url process.Menu(name,url,1009,img,FANART,'','') next_page= re.compile('class="paginador">.+?class="selected" href=".+?href="(.+?)".+?</li>',re.DOTALL).findall(html) for page in next_page: page = 'https://www.porn300.com'+page process.Menu('Next Page',page,1013,'https://www.porn300.com/android-icon-192x192.png',FANART,'','')
def yd_vids(url): html = process.OPEN_URL(url) match = re.compile('article id="post-.+?img src="(.+?)" alt="(.+?)"><span class="quality">(.+?)</span><a href="(.+?)".+?class="texto">(.+?)</div>.+?</div></div>',re.DOTALL).findall(html) for img,name,rez,url,info in match: name = name.replace('’','\'') name = '%s [COLOR red](%s)[/COLOR]'%(name,rez) process.Menu(name,url,101,img,FANART,info,info) next_page= re.compile('class="pagination".+?class="current".+?href=\'(.+?)\'',re.DOTALL).findall(html) for page in next_page: process.Menu('Next Page',page,100,ICON,FANART,'','')
def porn300_vids(url): html = process.OPEN_URL(url) match = re.compile('<li class="grid__item.+?href="(.+?)".+?src="(.+?)" alt="(.+?)".+?</ul>.+?</li>',re.DOTALL).findall(html) for url,img,name in match: name = name.replace(''','\'') url = 'https://www.porn300.com'+url process.PLAY(name,url,1008,img,FANART,'','') next_page= re.compile('<li class="pagination_item" itemprop="url"><a class="btn btn-primary--light btn-pagination" itemprop="name" href="(.+?)" title="Next">',re.DOTALL).findall(html) for page in next_page: page = 'https://www.porn300.com'+page process.Menu('Next Page',page,1009,'https://www.porn300.com/android-icon-192x192.png',FANART,'','')
def tv_show(url): html = process.OPEN_URL(url) match = re.compile( '<div class="poster item-flip">.+?href="(.+?)".+?<img src="(.+?)".+?<div class="title">.+?>(.+?)</a>.+?<div class="shortStory">(.+?)</div>', re.DOTALL).findall(html) Next = re.compile('<a class="pagecurrent".+?href=(.+?) onClick=', re.DOTALL).findall(html) for url, img, name, desc in match: process.Menu(name.replace('&', '&'), url, 107, img, FANART, desc, '') for n in Next: Menu('Next Page', n, 106, ICON, FANART, '', '')
def pervclips_cats(url): html = process.OPEN_URL(url) block = re.compile('class="thumbs"(.+?)class="bottom_spot',re.DOTALL).findall(html) match = re.compile('class="thumb".+?href="(.+?)" class="img".+?src="(.+?)"(.+?)alt="(.+?)".+?<span>(.+?)</span></a>.+?</div>',re.DOTALL).findall(str(block)) alt_img = re.compile('class="thumb".+?data-original="(.+?)".+?</div>',re.DOTALL).findall(str(block)) for url,img,rest,name,vid_count in match: if '.gif' in img: img = re.compile('data-original="(.+?)".+?width=',re.DOTALL).findall(str(rest))[0] name= '%s ([COLOR dodgerblue]%s[/COLOR])'%(name,vid_count) process.Menu(name,url,1015,img,FANART,'','') else: name= '%s ([COLOR dodgerblue]%s[/COLOR])'%(name,vid_count) process.Menu(name,url,1015,img,FANART,'','')
def vex_vids(url): html = process.OPEN_URL(url) match = re.compile( 'id="mt-.+?href="(.+?)".+?img src="(.+?)" alt="(.+?)".+?class="ttx">(.+?)<div.+?class="calidad2">(.+?)</span>', re.DOTALL).findall(html) for url, img, name, info, rez in match: title = name name = name.replace('’', '\'') name = '%s [COLOR red](%s)[/COLOR]' % (name, rez) title = name process.Menu(name, url, 101, img, FANART, info, title) next_page = re.compile('class=\'current\'.+?href=\'(.+?)\'.+?</li>', re.DOTALL).findall(html) for page in next_page: process.Menu('Next Page', page, 100, ICON, FANART, '', '')
def porn300_channels(url): html = process.OPEN_URL(url) match = re.compile( 'class="grid__item grid__item--producer".+?href="(.+?)".+?image" src="(.+?)" alt="(.+?)".+?</a>.+?</li>', re.DOTALL).findall(html) for url, img, name in match: url = 'https://www.porn300.com' + url process.Menu(name, url, 1009, img, FANART, '', '') next_page = re.compile( 'class="paginador">.+?class="selected" href=".+?href="(.+?)".+?</li>', re.DOTALL).findall(html) for page in next_page: page = 'https://www.porn300.com' + page process.Menu( '[COLOR palegreen]Next Page[/COLOR]', page, 1013, 'https://raw.githubusercontent.com/CellarDoorTV/CDTV_DOMINUS_ICONS/master/artwork/mainart/module_icon/next.png', FANART, '', '')
def TV_Calender_Day(url): from datetime import datetime today = datetime.now().strftime("%d") this_month = datetime.now().strftime("%m") this_year = datetime.now().strftime("%y") todays_number = (int(this_year) * 100) + (int(this_month) * 31) + (int(today)) HTML = process.OPEN_URL(url) match = re.compile( '<span class="dayofmonth">.+?<span class=".+?">(.+?)</span>(.+?)</span>(.+?)</div>', re.DOTALL).findall(HTML) for Day_Month, Date, Block in match: Date = Date.replace('\n', '').replace(' ', '').replace(' ', '') Day_Month = Day_Month.replace('\n', '').replace(' ', '').replace(' ', '') Final_Name = Day_Month.replace(',', ' ' + Date + ' ') split_month = Day_Month + '>' Month_split = re.compile(', (.+?)>').findall(str(split_month)) for item in Month_split: month_one = item.replace('January', '1').replace('February', '2').replace( 'March', '3').replace('April', '4').replace( 'May', '5').replace('June', '6') month = month_one.replace('July', '7').replace( 'August', '8').replace('September', '9').replace( 'October', '10').replace('November', '11').replace('December', '12') show_day = Date.replace('st', '').replace('th', '').replace('nd', '').replace('rd', '') shows_number = (int(this_year) * 100) + (int(month) * 31) + (int(show_day)) if shows_number >= todays_number: process.Menu( '[COLORred]*' + '[COLORwhite]' + Final_Name + '[/COLOR]', '', 7, '', '', '', Block) else: process.Menu( '[COLORgreen]*' + '[COLORwhite]' + Final_Name + '[/COLOR]', '', 7, '', '', '', Block)
def vex_playlinks(url, extra): html = process.OPEN_URL(url) match = re.compile( 'class="entry-content">.+?<iframe src="(.+?)".+?</iframe>', re.DOTALL).findall(html) for link in match: consistant = requests.get(link).content final_links = re.compile('src":"(.+?)"', re.DOTALL).findall(consistant) for links in final_links: irl = 'irl-' gool = 'googleusercontent' ment = 'mentor' if irl not in links: if gool not in links: if ment not in links: links = links.replace('\\', '') host = links.split('//')[1].replace('www.', '') hostname = host.split('/')[0].split('.')[0].title() process.PLAY(hostname, links, 19, '', '', '', extra)
def recent(name): html = process.OPEN_URL(base) if 'Series' in str(name): block = re.compile( '<div class="pname">RECENTLY ADDED TV SERIES(.+?)<div class="clr"></div>', re.DOTALL).findall(html) match = re.compile( '<div class="poster item-flip">.+?href="(.+?)".+?<img src="(.+?)".+?<div class="title">.+?>(.+?)</a>.+?<div class="shortStory">(.+?)</div>', re.DOTALL).findall(str(block)) for url, img, name, desc in match: Menu(name.replace('&', '&'), url, 107, img, FANART, desc, '') elif 'Movies' in str(name): block = re.compile( '<div class="pname">RECENTLY ADDED MOVIES(.+?)<div class="clr"></div>', re.DOTALL).findall(html) match = re.compile( '<div class="poster item-flip">.+?href="(.+?)".+?<img src="(.+?)".+?<div class="title">.+?>(.+?)</a>.+?<div class="shortStory">(.+?)</div>', re.DOTALL).findall(str(block)) for url, img, name, desc in match: Menu(name.replace('&', '&'), url, 101, img, FANART, desc, '')
def porn300_playlinks(url): html = process.OPEN_URL(url) match = re.compile('<div id="video-link".+?data-video="(.+?)"', re.DOTALL).findall(html) for link in match: xbmc.Player().play(link)
def pervclips_playlinks(url): html = process.OPEN_URL(url) match = re.compile('video_url: \'(.+?)\'',re.DOTALL).findall(html) for link in match: xbmc.Player().play(link)
def cats(url): html = process.OPEN_URL(url) match = re.compile('<span class="azlink"><a href="(.+?)" title="Go to the letter.+?">(.+?)</a>',re.DOTALL).findall(html) for url,name in match: process.Menu(name,url,103,ICON,FANART,'','')
def playlinks(url): html = process.OPEN_URL(url) match = re.compile('<tr>.+?<strong><a href="(.+?)".+?<strong>(.+?)</strong>.+?</tr>',re.DOTALL).findall(html) for link,host in match: process.PLAY(host,link,19,'','','','')