def fourK(): html = process.OPEN_URL('https://www.eporner.com/category/4k-p**n/') match = re.compile('<span>4K \(2160p\)</span></div> <a href="(.+?)" title="(.+?)".+?src="(.+?)"').findall(html) for url,name,img in match: url = 'http://eporner.com'+url name = clean_name.clean_name(name) process.PLAY(name,url,759,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 = 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), 906, str(image), '', '', '')
def Pandora_Menu(url): link = process.OPEN_URL(url) match=re.compile('<a href="(.+?)" target="_blank"><img src="(.+?)" style="max-width:200px;" /><description = "(.+?)" /><background = "(.+?)" </background></a><br><b>(.+?)</b>').findall(link) for url,iconimage,desc,background,name in match: process.PLAY(name,url,906,iconimage,background,desc,'') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE); xbmcplugin.endOfDirectory(int(sys.argv[1]))
def tube8_videos(url): html = process.OPEN_URL(url) match = re.compile('data-value=.+?src="(.+?)".+?alt="(.+?)".+?"video_duration">(.+?)</div>.+?<a href="(.+?)"',re.DOTALL).findall(html) for img,name,length,url in match: name = clean_name.clean_name(name) length = clean_name.clean_name(length) process.PLAY('[COLORred]'+length+'[/COLOR] : '+name,url,740,img,FANART,'','') next = re.compile('<link rel="next" href="(.+?)">').findall(html) for item in next: process.Menu('Next Page',item,739,'https://a3-images.myspacecdn.com/images03/1/cb9e1e694ca941abaf62f0026d18049f/300x300.jpg',FANART,'','')
def youporn_video(url): html = process.OPEN_URL(url) match = re.compile("<div class='video-box.+?<a href=\"(.+?)\".+?<img src=\"(.+?)\".+?alt='(.+?)'",re.DOTALL).findall(html) for url,img,name in match: name = clean_name.clean_name(name) url = 'http://www.youporn.com'+url process.PLAY(name,url,728,img,FANART,'','') next = re.compile('<link rel="next" href="(.+?)" />').findall(html) for item in next: process.Menu('Next Page',item,725,'http://www.ares-portal.com/wp-content/uploads/2016/12/plugin.video_.youporngay.png',FANART,'','')
def redtube_video(url): html = process.OPEN_URL(url) match = re.compile('<img title="(.+?)" id="(.+?)" class=".+?" data-src="(.+?)"').findall(html) for name,url,img in match: name = clean_name.clean_name(name) url = 'http://www.redtube.com/'+url img = 'http:'+img process.PLAY(name,url,732,img,FANART,'','') next = re.compile('<link rel="next" href="(.+?)">').findall(html) for item in next: process.Menu('Next Page',item,731,'http://gosha-portal.pp.ua/1311/pic/redtube.png',FANART,'','')
def spank_videos(url): html = process.OPEN_URL(url) match = re.compile('<div class="thumb-info-wrapper">.+?<a href="(.+?)".+?data-original="(.+?)".+?alt="(.+?)"',re.DOTALL).findall(html) for url,img,name in match: url = 'http://www.spankwire.com'+url process.PLAY(name,url,777,img,FANART,'','') next = re.compile('<link rel="next" href="(.+?)" />').findall(html) for item in next: if not 'http://www.spankwire.com' in item: item = 'http://www.spankwire.com'+item process.Menu('Next Page',item,775,'http://kenny2u.org/wp-content/uploads/2016/09/icon-43.png',FANART,'','')
def chaturbate_videos(url): html = process.OPEN_URL(url) block = re.compile('<ul class="list">(.+?)<div class="c-1 featured_blog_posts">',re.DOTALL).findall(html) for item in block: match = re.compile('<li>.+?<a href="(.+?)">.+?<img src="(.+?)"',re.DOTALL).findall(str(item)) for url,img in match: url2 = 'http://chaturbate.com' + url process.PLAY(url.replace('/',''),url2,722,img,FANART,'','') next = re.compile('<li><a href="([^"]*)" class="next endless_page_link">next</a></li>').findall(html) for thing in next: process.Menu('Next Page','http://chaturbate.com'+thing,721,'https://pbs.twimg.com/profile_images/671662441210753024/sE2tHWMB_400x400.png',FANART,'','')
def XNew_Videos(url): HTML = process.OPEN_URL(url) match = re.compile('<div class="thumb-inside">.+?<img src="(.+?)".+?<a href="(.+?)" title="(.+?)">.+?<strong>(.+?)</strong> - (.+?)%').findall(HTML) for img,url,name,length,rating in match: process.PLAY((name).replace(' ','-').replace('---',' - ').replace(''','\'').replace('&','&').replace('"','"').replace(' ','') + ' - P**n Quality : ' + rating + '% - ' + length,'http://www.xvideos.com'+url,706,img,FANART,rating + '% - ' + length,'') next_button2 = re.compile('<li><a href="([^"]*)" class="no-page">Next</a></li></ul></div>').findall(HTML) for url in next_button2: if 'Next' not in List: url = clean_name.clean_name(url) process.Menu('Next Page','http://www.xvideos.com'+url,701,'https://pbs.twimg.com/profile_images/378800000578199366/cf160c1c86c13778a834bbade0c30e38.jpeg',FANART,'','') List.append('Next')
def youporn_new_video(url): html = process.OPEN_URL(url) block = re.compile('"day_by_day_section">(.+?)<div class="title-bar sixteen-column">',re.DOTALL).findall(html) for item in block: match = re.compile("<div class='video-box four-column'.+?<a href=\"(.+?)\".+?<img src=\"(.+?)\".+?alt='(.+?)'",re.DOTALL).findall(str(item)) for url,img,name in match: name = clean_name.clean_name(name) url = 'http://www.youporn.com'+url process.PLAY(name,url,728,img,FANART,'','') next = re.compile('<link rel="next" href="(.+?)" />').findall(html) for item in next: process.Menu('Next Page',item,725,'http://www.ares-portal.com/wp-content/uploads/2016/12/plugin.video_.youporngay.png',FANART,'','')
def Get_Channel(url): List = [] HTML = requests.get(url).text block = re.compile('<div class="Block CategoryContent Moveable Panel"(.+?)<br class="Clear" />',re.DOTALL).findall(HTML) for item in block: match = re.compile('<div class="ProductImage">.+?<a href="(.+?)".+?img src="(.+?)" alt="(.+?)" />',re.DOTALL).findall(str(item.encode('utf-8'))) for url,image,name in match: process.PLAY(name,url,22,image,'','','') next = re.compile('<div class="FloatRight"><a href="(.+?)">.+?</a>').findall(HTML) for url in next: if 'skippy' not in List: process.Menu('Next Page',url,21,'','','','') List.append('skippy')
def eporner_video(url): html = process.OPEN_URL(url) match = re.compile('onmouseenter="show_video_prev.+?<span>(.+?)</span>.+?<a href="(.+?)".+?title="(.+?)".+?<img id=.+?src="(.+?)".+?"mbtim">(.+?)</div>',re.DOTALL).findall(html) for max_qual,url,name,img,length in match: url = 'http://www.eporner.com'+url name = clean_name.clean_name(name) name = max_qual.replace('4K','[COLOR darkgoldenrod][B]4K[/B][/COLOR]')+'-[COLORred]'+length+'[/COLOR]-'+name process.PLAY(name,url,759,img,FANART,'','') next = re.compile('<a href="([^"]*)" title="Next page">').findall(html) for item in next: url = 'http://eporner.com'+item url = clean_name.clean_name(url) process.Menu('Next Page',url,761,'http://kenny2u.org/wp-content/uploads/2016/09/icon-1.png',FANART,'','')
def get_hamster_vid(url): html = process.OPEN_URL(url) match = re.compile('<div class="video"><a href="(.+?)".+?<img src=\'(.+?)\'.+?alt="(.+?)"/>.+?><b>(.+?)</b>(.+?)<div class="fr">(.+?)</div><div class="views-value">(.+?)</div></div></div>').findall(html) for url,img,name,duration,hd_check,rating,views in match: name = clean_name.clean_name(name) name = duration+' - '+name if 'hSpriteHD' in hd_check: name = '[COLORred]HD [/COLOR]'+name process.PLAY(name,url,719,img,img,'Views : '+views+'\nRating : '+rating,'') next = re.compile('<link rel="next" href="(.+?)">').findall(html) for item in next: item = clean_name.clean_name(item) process.Menu('Next Page',item ,716,'http://www.logospike.com/wp-content/uploads/2016/05/Xhamster_Logo_03.png',FANART,'','')
def get_video_item(url): html = process.OPEN_URL(url) match = re.compile('<div class="preloadLine">.+?<a href="(.+?)" title="(.+?)".+?<var class="duration">(.+?)</var>(.+?)</div>.+?data-mediumthumb="(.+?)".+?<span class="views"><var>(.+?)</var> views</span>.+?<div class="value">(.+?)</div>.+?<var class="added">(.+?)</var>',re.DOTALL).findall(html) for url,name,duration,hd_check,image,views,rating,uploaded in match: fin_url = pornhub+url name = duration+' - '+name if 'hd-thumbnail' in hd_check: name = '[COLORred]HD [/COLOR]'+name name = clean_name.clean_name(name) process.PLAY(name,fin_url,711,image,FANART,'Views : '+views+'\nRating : '+rating+'\nUploaded : '+uploaded,'') next = re.compile('<link rel="next" href="(.+?)" />').findall(html) for item in next: item = clean_name.clean_name(item) process.Menu('Next Page',item,709,'','','','')
def youjizz_videos(url): next_list = [] html = process.OPEN_URL(url) match = re.compile('<a class="frame".+?href=\'(.+?)\'.+?<img class="lazy".+?data-original="(.+?)".+?<span id="title1">(.+?)</span>.+?<span class=\'thumbtime\'><spa.+?>(.+?)</span',re.DOTALL).findall(html) for url,img,name,length in match: url = 'http://youjizz.com'+url name = length+' - '+name name = clean_name.clean_name(name) process.PLAY(name,url,769,img,FANART,'','') next = re.compile("a href='([^']*)'>Next.+?</a>").findall(html) for item in next: if 'Next' not in next_list: process.Menu('Next Page','http://youjizz.com'+item,765,'https://pbs.twimg.com/profile_images/3332003625/23c080fbec17cfb45ca3fd40ec06afe1.png',FANART,'','') next_list.append('Next')
def thumbzilla_videos(url): html = process.OPEN_URL(url) match = re.compile('<a class="js-thumb" href="(.+?)".+?src="(.+?)".+?<span class="title">(.+?)</span>.+?<span class="duration">(.+?)</span>(.+?)</span>',re.DOTALL).findall(html) for url,img,name,length,hd_check in match: length+' - '+name url = 'http://thumbzilla.com'+url if 'hd' in hd_check: name = clean_name.clean_name(name) name = '[COLORred]HD [/COLOR]'+name process.PLAY(name,url,752,img,FANART,'','') next = re.compile('<link rel="next" href="(.+?)" />').findall(html) for item in next: item = clean_name.clean_name(item) process.Menu('Next Page',item,746,'http://static.spark.autodesk.com/2013/02/14__13_53_32/data2cd61048-351b-4b48-bd9c-946e7e076b53Medium2.jpg',FANART,'','')
def xtube_videos(url): next_list = [] html = process.OPEN_URL(url) match = re.compile('<a href="/video-watch(.+?)" title="(.+?)".+?<img src="(.+?)".+?<span class="duration">(.+?)</span>',re.DOTALL).findall(html) for url,name,img,length in match: name = length + ' - ' + name url = 'http://xtube.com/video-watch'+url name = clean_name.clean_name(name) process.PLAY(name,url,757,img,FANART,'','') next = re.compile('<a href="([^"]*)" title="next">').findall(html) for item in next: if 'Next' not in next_list: url = 'http://xtube.com'+item process.Menu('Next Page',url,754,'https://pbs.twimg.com/profile_images/732348322044903425/xTK0J4Cz.jpg',FANART,'','') next_list.append('Next')
def Pandoras_Box(url): List = [] import xbmc;xbmc.log(url) 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,url2,img,fanart in match: if 'php' in url2: if name == '[COLOR darkgoldenrod][I]Movies[/I][/COLOR]': process.Menu(name,url2,200,img,fanart,desc,'') elif name == '[COLOR darkgoldenrod][I]TV Shows[/I][/COLOR]': process.Menu(name,url2,300,img,fanart,desc,'') elif name == '[COLOR darkgoldenrod][I]Recently Added TV[/I][/COLOR]': process.Menu(name,url2,902,img,fanart,desc,'') elif name == '[COLOR darkgoldenrod][I]Recently Added Movies[/I][/COLOR]': process.Menu(name,url2,902,img,fanart,desc,'') else: process.Menu(name,url2,901,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 url3,iconimage,desc,fanart,name in match2: if 'php' in url: process.Menu(name,url3.replace(' ','%20'),901,iconimage,fanart,desc,'') elif not 'http' in url3: if len(url) == 11: url = 'plugin://plugin.video.youtube/play/?video_id='+ url process.PLAY(name,url3,906,iconimage,fanart,desc,'') elif 'utube' in url and 'playlist' in url: process.Menu(name,url3,10002,iconimage,fanart,desc,'') elif 'sportsdevil:' in url3: url = 'plugin://plugin.video.SportsDevil/?mode=1&item=catcher%3dstreams%26url='+url.replace('sportsdevil:','') process.PLAY(name,url3,906,iconimage,fanart,desc,'') elif 'f4mtester:' in url3: if '.f4m' in i.string: url3 = 'plugin://plugin.video.f4mTester/?url='+url3 elif '.m3u8' in i.string: url3 = 'plugin://plugin.video.f4mTester/?url='+url3+'&streamtype=HLS' else: url3 = 'plugin://plugin.video.f4mTester/?url='+url3+'&streamtype=SIMPLE' process.PLAY(name,url3,906,iconimage,fanart,desc,'') elif 'sublink:' in url3: process.PLAY(name,url3,1130,iconimage,fanart,desc,'') elif name == '[COLOR darkgoldenrod][I]Recently Added TV[/I][/COLOR]': process.PLAY(name,url3.replace(' ','%20'),906,iconimage,fanart,desc,'') elif name == '[COLOR darkgoldenrod][I]Recently Added Movies[/I][/COLOR]': process.PLAY(name,url3.replace(' ','%20'),906,iconimage,fanart,desc,'') else: process.PLAY(name,url3.replace(' ','%20'),906,iconimage,fanart,desc,'') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE) xbmcplugin.setContent(addon_handle, 'movies')
def Play_url(name, url, iconimage): url_List = [] if 'pcloud' in url: pass elif 'nosvideo' in url: if url not in url_List: process.PLAY('[COLORred]nosvideo[/COLOR] - ' + name, url, 906, iconimage, '', '', '') url_List.append(url) elif 'drive' in url: if url not in url_List: process.Play('[COLORred]gdrive[/COLOR] - ' + name, url, 906, iconimage, '', '', '') url_List.append(url) else: pass
def Search_Pandoras_Films(): Search_Name = Dialog.input('Search', type=xbmcgui.INPUT_ALPHANUM) Search_Title = Search_Name.lower() filenames = ['hey1080p','hey3D','hey','480p','720p','1080p','mova', 'movb', 'movc', 'movd', 'move', 'movf', 'movg', 'movh', 'movi', 'movj', 'movk', 'movl', 'movm', 'movn', 'movo', 'movp', 'movq', 'movr', 'movs', 'movt', 'movu', 'movv', 'movw', 'movx', 'movy', 'movz','720paction','720padventure','720panimation','720pcomedy','720pcrime','720pdocumentary','720pdrama','720pfamily','720pfantasy','720phorror','720pmystery','720promance','720psci-Fi','720psport','720pthriller','720pwestern','1080paction','1080padventure','1080panimation','1080pcomedy','1080pcrime','1080pdocumentary','1080pdrama','1080pfamily','1080pfantasy','1080phorror','1080pmystery','1080promance','1080psci-Fi','1080psport','1080pthriller','1080pwestern','top10action','top10animation','top10biography','top10comedy','top10crime','top10documentary','top10drama','top10family','top10fantasy','top10horror','top10music','top10mystery','top10romance','top10sci-fi','top10sport','top10thriller','top10western'] for file_Name in filenames: search_URL = Base_Pand + file_Name + CAT HTML = process.OPEN_URL(search_URL) if HTML != 'Opened': match=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 match: if Search_Name in name.lower(): process.PLAY(name,url,906,iconimage,fanart,desc,'Pans') xbmcplugin.setContent(addon_handle, 'movies') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE);
def Pans_Search_TV(Search_name): if 'season' in Search_name.lower(): Type = 'single_ep' name_splitter = Search_name + '<>' name_split = re.compile( '(.+?) - season (.+?) episode (.+?)<>').findall( str(name_splitter).lower()) for name, season, episode in name_split: title = name season = season episode = episode year = '' else: Type = 'full_show' title = Search_name if Search_name[0].lower() in 'abcdefghijklmnopqrstuvwxyz': url_extra = Search_name[0].lower() else: url_extra = 'tvnum' search_URL2 = Base_Pand + url_extra + '.php' HTML = process.OPEN_URL(search_URL2) if HTML != 'Opened': match = re.compile( '<item>.+?<title>(.+?)</title>.+?<description>(.+?)</description>.+?<link>(.+?)</link>.+?<thumbnail>(.+?)</thumbnail>.+?<fanart>(.+?)</fanart>.+?<mode>(.+?)</mode>.+?</item>', re.DOTALL).findall(HTML) for name, desc, url, img, fanart, mode in match: if Type == 'full_show': if (Search_name).replace(' ', '') in (name).replace(' ', '').lower(): name = '[COLOR darkgoldenrod]Pandora [/COLOR]' + name process.Menu(name, url, mode, img, fanart, desc, '') elif Type == 'single_ep': if title.replace(' ', '').lower() in name.replace(' ', '').lower(): HTML5 = process.OPEN_URL(url) match5 = re.compile( '<a href="(.+?)" target="_blank"><img src="(.+?)" style="max-width:200px;" /><description = "(.+?)" /><background = "(.+?)" </background></a><br><b>(.+?)</b>' ).findall(HTML5) for url5, iconimage, desc5, background, name5 in match5: if len(episode) == 1: episode = '0' + episode if 'E' + episode in name5: process.PLAY( '[COLOR darkgoldenrod]Pandora | [/COLOR]' + name5, url5, 906, iconimage, background, desc5, '') HTML2 = process.OPEN_URL(url) match2 = re.compile( '<item>.+?<title>(.+?)</title>.+?<description>(.+?)</description>.+?<link>(.+?)</link>.+?<thumbnail>(.+?)</thumbnail>.+?<fanart>(.+?)</fanart>.+?<mode>(.+?)</mode>.+?</item>', re.DOTALL).findall(HTML2) for name2, desc2, url2, img2, fanart2, mode2 in match2: if 's' in name2.lower() and season in name2.lower(): HTML3 = process.OPEN_URL(url2) match3 = re.compile( '<a href="(.+?)" target="_blank"><img src="(.+?)" style="max-width:200px;" /><description = "(.+?)" /><background = "(.+?)" </background></a><br><b>(.+?)</b>' ).findall(HTML3) for url3, iconimage, desc3, background, name3 in match3: if len(episode) == 1: episode = '0' + episode if 'E' + episode in name3: process.PLAY( '[COLOR darkgoldenrod]Pandora | [/COLOR]' + name3, url3, 906, iconimage, background, desc3, '') if Type == 'single_ep': HTML4 = process.OPEN_URL(Base_Pand + 'recenttv.php') match4 = re.compile( '<a href="(.+?)" target="_blank"><img src="(.+?)" style="max-width:200px;" /><description = "(.+?)" /><background = "(.+?)" </background></a><br><b>(.+?)</b>' ).findall(HTML4) for url4, iconimage, desc4, background, name4 in match4: if len(episode) == 1: episode = '0' + episode if 'E' + episode in name4 and title.lower().replace( ' ', '') in name4.lower().replace(' ', ''): process.PLAY( '[COLOR darkgoldenrod]Pandora Recent | [/COLOR]' + name4, url4, 906, iconimage, background, desc4, '')
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'),906,iconimage,fanart,description,'')