def Search(): Dialog = xbmcgui.Dialog() filename = ['Movies', 'yt_standup_playlist', 'TV_Shows'] Search_Name = Dialog.input('Search', type=xbmcgui.INPUT_ALPHANUM) Search_Title = Search_Name.lower() for file_name in filename: Search_Url = 'http://herovision.x10host.com/GetUpStandUp/' + file_name + '.php' HTML = process.OPEN_URL(Search_Url) match = re.compile( '<NAME="(.+?)"<URL="(.+?)"<MODE="(.+?)"<IMAGE="(.+?)"<FANART="(.+?)"<DESC="(.+?)"' ).findall(HTML) for name, url, mode, image, fanart, desc in match: if Search_Title in name.lower(): if image == 'IMAGES': image = ICON if fanart == 'FANART': fanart = FANART if '.php' in url: process.Menu(name, url, 104, image, fanart, desc, '') if mode == 'single': process.Play(name, url, 109, image, fanart, desc, '') elif mode == 'playlist': process.Menu(name, url, 107, image, fanart, desc, '') elif mode == 'watchseries': process.Menu(name, url, 112, image, fanart, desc, name) elif mode == 'normal': process.Play(name, url, 105, image, fanart, desc, '') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE) xbmcplugin.endOfDirectory(int(sys.argv[1]))
def Search_GetUpStandUp(Search_name): filename = ['Movies', 'yt_standup_playlist', 'TV_Shows'] for file_name in filename: Search_Url = 'http://herovision.x10host.com/GetUpStandUp/' + file_name + '.php' HTML = process.OPEN_URL(Search_Url) match = re.compile( '<NAME="(.+?)"<URL="(.+?)"<MODE="(.+?)"<IMAGE="(.+?)"<FANART="(.+?)"<DESC="(.+?)"' ).findall(HTML) for name, url, mode, image, fanart, desc in match: if Search_name in name.lower(): name = '[COLORred]Origin [/COLOR]' + name if image == 'IMAGES': image = '' if fanart == 'FANART': fanart = '' if '.php' in url: process.Menu(name, url, 104, image, fanart, desc, '') if mode == 'single': process.Play(name, url, 109, image, fanart, desc, '') elif mode == 'playlist': process.Menu(name, url, 107, image, fanart, desc, '') elif mode == 'watchseries': process.Menu(name, url, 112, image, fanart, desc, name) elif mode == 'normal': process.Play(name, url, 105, image, fanart, desc, '')
def selector(name, URL): qty_check = List.count(name) if str(qty_check) > 1: name = name + ' - Link ' + str(qty_check) process.Play(name, URL, 115, ICON, FANART, '', '') else: process.Play(name, URL, 115, ICON, FANART, '', '')
def selector(name, URL): qty_check = List.count(name) if str(qty_check) > 1: name = name + ' - Link ' + str(qty_check) process.Play(name, URL, 313, ICON, FANART, '', '') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE) else: process.Play(name, URL, 313, ICON, FANART, '', '')
def get_Multi_Links(url, iconimage): process.Play('Extended Highlights', url, 402, iconimage, FANART, '', '') HTML = process.OPEN_URL(url) match = re.compile( '<link href=".+?" rel="stylesheet" type="text/css"><li tabindex="0" class="button_style" id=".+?"><a href="(.+?)"><div class="acp_title">(.+?)</div></a></li>' ).findall(HTML) for url2, name in match: url = url + url2 name = (name).replace('HL English', 'English Highlights') process.Play(name, url, 402, iconimage, FANART, '', '')
def LISTS2(url): html=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(html) for url,iconimage,desc,fanart,name in match: if 'http' in url: if '.php' in url: process.Menu((name).replace('_',' '),url,2251,iconimage,fanart,desc,'') else: if 'youtube' in url: process.Play((name).replace('_',' '),'plugin://plugin.video.youtube/play/?video_id='+url,906,iconimage,fanart,desc,'') else: process.Play((name).replace('_',' '),url,906,iconimage,fanart,desc,'')
def Reaper_TV(Search_name, url): 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: title = Search_name Type = 'full_show' OPEN = process.OPEN_URL(url + title[0].upper() + '.php') Regex = re.compile( '<NAME>(.+?)</NAME><URL>(.+?)</URL><ICON>(.+?)</ICON><FANART>(.+?)</FANART><DESC>(.+?)</DESC>' ).findall(OPEN) for name, url2, icon, fanart, desc in Regex: if (title).replace(' ', '').lower() in (name).replace(' ', '').lower(): if Type == 'full_show': if 'php' in url: process.Menu('[COLORlightslategray]Reaper[/COLOR] ' + name, url, 2301, icon, fanart, desc, '') else: process.Play('[COLORlightslategray]Reaper[/COLOR] ' + name, url, 906, icon, fanart, desc, '') elif Type == 'single_ep': HTML2 = process.OPEN_URL(url2) match = re.compile( '<NAME>(.+?)</NAME><URL>(.+?)</URL><ICON>(.+?)</ICON><FANART>(.+?)</FANART><DESC>(.+?)</DESC>' ).findall(HTML2) for name2, url3, icon, fanart, desc in match: seas_no = re.compile('season (.+?)\.').findall( str(name2.lower())) for item in seas_no: seas_no = item if seas_no[0] == '0': seas_no = seas_no[1] if season == seas_no: HTML3 = process.OPEN_URL(url3) match2 = re.compile( '<NAME>(.+?)</NAME><URL>(.+?)</URL><ICON>(.+?)</ICON><FANART>(.+?)</FANART><DESC>(.+?)</DESC>' ).findall(HTML3) for name3, url4, image, pic, info in match2: ep_no = re.compile('EP(.+?)\.').findall(str(name3)) for item in ep_no: ep_no = item if episode == ep_no: process.Play( '[COLORlightslategray]Reaper[/COLOR] | ' + name3, url4, 906, image, pic, info, '')
def Second_Menu(url): OPEN = process.OPEN_URL(url) Regex = re.compile('<a href="(.+?)" target="_blank"><img src="(.+?)" style="max-width:200px;" /><description = "(.+?)" /><background = "(.+?)" </background></a><br><b>(.+?)</b>').findall(OPEN) for url,img,desc,fanart,name in Regex: if 'php' in url: process.Menu(name,url,1303,img,fanart,desc,'') elif 'playlist' in url: process.Menu(name,url,10002,img,fanart,desc,'') elif 'watchseries' in url: process.Menu(name,url,112,img,fanart,desc,'') elif not 'http' in url: process.Play(name,url,10003,img,fanart,desc,'') else: process.Play(name,url,906,img,fanart,desc,'') xbmcplugin.setContent(addon_handle, 'movies')
def get_All_Rows(url, iconimage): HTML = process.OPEN_URL(url) block = re.compile( '<div class="td-block-span6">(.+?)<div class="td-pb-span4 td-main-sidebar">', re.DOTALL).findall(HTML) match2 = re.compile( '<div class="td-module-thumb"><a href="(.+?)".+?title="(.+?)".+?"entry-thumb" src="(.+?)"' ).findall(str(block)) for url, name, img in match2: if 'Full Match' in name: Name = name.replace('–', '-').replace('&', '&').replace('’', '') process.Menu(Name, url, 407, img, '', '', '') else: Name = name.replace('–', '-').replace('&', '&').replace('’', '') process.Play(Name, url, 402, img, '', '', '') Next = re.compile( '<span class="current">.+?</span><a href="(.+?)" class="page" title=".+?">(.+?)</a>' ).findall(HTML) for url, name in Next: process.Menu('NEXT PAGE', url, 401, iconimage, FANART, '', '') if len(match2) <= 0: process.Menu('No Replays available sorry', url, 401, iconimage, FANART, '', '')
def footytube_videos(url): HTML = process.OPEN_URL(url) match = re.compile( ' <div class="thumboverlay"> .+?<div><a href="(.+?)".+?<img src="(.+?)" width="165px" height="97px" /></a></div>.+?<div class="vid_title".+?class="standard_link">(.+?)</a><div class="vid_info">(.+?)</div>', re.DOTALL).findall(HTML) for url, img, name, age in match: process.Play(name + ' - ' + age, footy + url, 417, img, FANART, '', '')
def motor_single(name, block): ALPHANUM = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '#' ] fallback = name List = [] match = re.compile('(.+?)<a href="(.+?)".+?\n', re.DOTALL).findall(str(block)) for name, url in match: name = name.replace(' ', '').replace(' ', '').replace('\n', '').replace('%0D', '') if name == '': if len(List) >= 1: name = List[-1] else: name = fallback name = name.replace('<b>', '').replace(' ', '').replace('<br>', '') if 'utube' in url: url = url.replace('https://www.youtube.com/watch?v=', '').replace('http://www.youtube.com/watch?v=', '') fin_url = 'plugin://plugin.video.youtube/play/?video_id=' + url process.Play('Play - ' + name, fin_url, 906, '', '', '', '') List.append(name) if 'itv' in url: process.Menu( 'Unfortunately i cannot grab this stream, it is available at itv.com for uk viewers', '', 906, '', '', '', '')
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: if 'elete' in name: pass elif 'rivate Vid' in name: pass else: 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 process.Play('[COLORred]'+str(duration)+'[/COLOR] : '+str(name),str(url),10003,str(image),'','','' )
def search_checked(): Dialog = xbmcgui.Dialog() if not os.path.exists(Addon_data): os.makedirs(Addon_data) if not os.path.exists(Stream_file): Dialog.ok('You need to run \'Check for response off streams\' first','Please run above and then come back') else: progress = [] item = [] result = [] dp = xbmcgui.DialogProgress() Search_title = Dialog.input('Search', type=xbmcgui.INPUT_ALPHANUM) Search_name = Search_title.lower() HTML = open(Stream_file).read() match = re.compile('<NAME=>(.+?)</NAME><URL=>(.+?)</URL>').findall(HTML) for name, url in match: item.append(url[0]) items = len(item) for name, url in match: progress.append(url[0]) dp_add = len(progress) / float(items) * 100 dp.create('Checking for stream') dp.update(int(dp_add),'Checking list '+str(len(progress))+'/'+str(len(match)),str(len(result))+' Results') if dp.iscanceled(): return if (Search_name).replace(' ','') in (name).replace(' ','').lower(): result.append(url[0]) process.Play(name,url,906,'','','','')
def grab_youtube_playlist(url): 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: if 'elete' in name: pass elif 'rivate Vid' in name: pass else: 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 process.Play('[COLORred]' + str(duration) + '[/COLOR] : ' + str(name), str(url), 109, str(image), FANART, '', '') xbmcplugin.endOfDirectory(int(sys.argv[1]))
def arcontv(): url = 'http://arconaitv.me/' index = 'index.php#shows' html = BeautifulSoup(requests.get(url + index).content) conts = html.findAll('div', attrs={'class': 'box-content'}) for cont in conts: links = cont.findAll('a') for link in links: if link.has_key('href'): href = url + link['href'] if link.has_key('title'): name = link['title'] pics = link.findAll('img') for pic in pics: img = url + pic['src'] heads = {'User-Agent': random_agent()} html3 = requests.get(href, headers=heads).content pp = packets(html3) match = re.compile("'https:(.+?)'").findall(pp) for plink in match: plink = plink.replace('\\', '').replace('m3u8/', 'm3u8') src = 'https:' + plink + '|Referer=http://arconaitv.me&User-Agent=Mozilla%2F5.0%20(Windows%20NT%206.1%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F59.0.3071.115%20Safari%2F537.36' process.Play(name, src, 906, img, img, '', '')
def Clean_name(name,url3): name1 = (name).replace('S01E','S01 E').replace('(MovIran).mkv','').replace('The.Walking.Dead','').replace('.mkv','').replace('Tehmovies.com.mkv','').replace('Nightsdl','').replace('Ganool','') name2=(name1).replace('.',' ').replace(' (ParsFilm).mkv','').replace('_TehMovies.Com.mkv','').replace(' (SaberFun.IR).mkv','').replace('[UpFilm].mkv','').replace('(Bia2Movies)','') name3=(name2).replace('.mkv','').replace('.Film2Movie_INFO.mkv','').replace('.HEVC.Film2Movie_INFO.mkv','').replace('.ParsFilm.mkv ','').replace('(SaberFunIR)','') name4=(name3).replace('.INTERNAL.','').replace('.Film2Movie_INFO.mkv','').replace('.web-dl.Tehmovies.net.mkv','').replace('S01E06','S01 E06').replace('S01E07','S01 E07') name5=(name4).replace('S01E08','S01 E08').replace('S01E09','S01 E09').replace('S01E10','S01 E10').replace('.Tehmovies.net','').replace('.WEBRip.Tehmovies.com.mkv','') name6=(name5).replace('.mp4','').replace('.mkv','').replace('.Tehmovies.ir','').replace('x265HEVC','').replace('Film2Movie_INFO','').replace('Tehmovies.com.mkv','') name7=(name6).replace(' (ParsFilm)','').replace('Tehmovies.ir.mkv','').replace('.480p',' 480p').replace('.WEBrip','').replace('.web-dl','').replace('.WEB-DL','') name8=(name7).replace('.','').replace('.Tehmovies.com','').replace('480p.Tehmovies.net</',' 480p').replace('720p.Tehmovies.net','720p').replace('.480p',' 480p') name9=(name8).replace('.480p.WEB-DL',' 480p').replace('.mkv','').replace('.INTERNAL.','').replace('720p',' 720p').replace('.Tehmovi..>','').replace('.Tehmovies.net.mkv','') name10=(name9).replace('..720p',' 720p').replace('.REPACK.Tehmovies..>','').replace('.Tehmovies.com.mkv','').replace('.Tehmovies..>','').replace('Tehmovies.ir..>','') name11=(name10).replace('Tehmovies.ne..>','').replace('.HDTV.x264-mRs','').replace('...>','').replace('.Tehmovies...>','').replace('.Tehmovies.com.mp4','') name12=(name11).replace('.Tehmovies.com.mp4','').replace('_MovieFarsi','').replace('_MovieFar','').replace('_com','').replace('>','').replace('avi','').replace('(1)','') name13=(name12).replace('(2)','').replace('cd 2','').replace('cd 1','').replace('-dos-xvid','').replace('divx','').replace('Xvid','').replace('DVD','').replace('DVDrip','') name14=(name13).replace('DvDrip-aXXo','').replace('[','').replace(']','').replace('(','').replace(')','').replace('XviD-TLF-','').replace('CD1','').replace('CD2','') name15=(name14).replace('CD3','').replace('mp4','').replace('&','&').replace('HDRip','').replace('-','').replace(' ',' ').replace('xvid','').replace('1080p','').replace('HeyDL','') name16=(name15).replace('1970','').replace('1971','').replace('1972','').replace('1973','').replace('1974','').replace('1975','').replace('1976','').replace('1977','') name17=(name16).replace('1978','').replace('1979','').replace('1980','').replace('1981','').replace('1982','').replace('1983','').replace('1984','').replace('1985','') name18=(name17).replace('1986','').replace('1987','').replace('1988','').replace('1989','').replace('1990','').replace('1991','').replace('1992','').replace('1993','') name19=(name18).replace('1994','').replace('1995','').replace('1996','').replace('1997','').replace('1998','').replace('1999','').replace('2000','').replace('2001','') name20=(name19).replace('2002','').replace('2003','').replace('2004','').replace('2005','').replace('2006','').replace('2007','').replace('2008','').replace('2009','') name21=(name20).replace('2010','').replace('2011','').replace('2012','').replace('2013','').replace('2014','').replace('2015','').replace('2016','').replace('720p','') name22=(name21).replace('360p','').replace(' ',' ').replace('BluRay','').replace('rip','').replace('WEBDL','').replace('s01','').replace('s02','').replace('S02','') name23=(name22).replace('s03','').replace('s04','').replace('s05','').replace('s06','').replace('s07','').replace('s08','').replace('s09','').replace('S01','') name24=(name23).replace('S03','').replace('S04',' ').replace('S05','').replace('S06','').replace('S07','').replace('S08','').replace('S09','').replace('E01','') name25=(name24).replace('E02','').replace('E03','').replace('E04','').replace('E05','').replace('E06','').replace('E07','').replace('E08','').replace('E09','').replace('e01','') name25=(name24).replace('e02','').replace('e03','').replace('e04','').replace('e05','').replace('e06','').replace('e07','').replace('e08','').replace('e09','').replace('e01','') clean_name = name15 search_name = name25 process.Play(clean_name,url3,906,'','','','')
def search_next(name): Search_name = name headers = {"User-Agent": "Mozilla/5.0"} progress = [] item = [] result = [] dp = xbmcgui.DialogProgress() Dialog = xbmcgui.Dialog() HTML = requests.get('http://www.iptvultra.com/',headers=headers).text match = re.compile('<span class="link"><a href="(.+?)">(.+?)</a>').findall(HTML) for url, name in match: item.append(url[0]) items = len(item) for url, name in match: progress.append(url[0]) dp_add = len(progress) / float(items) * 100 dp.create('Checking for stream') dp.update(int(dp_add),'Checking list '+str(len(progress))+'/'+str(len(match)),str(len(result))+' Results') if dp.iscanceled(): return HTML2 = requests.get(url,headers=headers).text match2 = re.compile('".+?[@](.+?)[@].+?[@].+?[@](.+?)"').findall(HTML2) for name,url2 in match2: name = name.replace('[','').replace(']','') if name[0] == ' ': name = name[1:] if name[-1] == ' ': name = name[:-1] playlink = 'plugin://plugin.video.f4mTester/?streamtype=TSDOWNLOADER&url='+url2.replace('[','').replace(']','')+';name=Wiztv' if (Search_name).replace(' ','') in (name).replace(' ','').lower(): result.append(url[0]) try: process.Play(name,playlink,906,'','','','') except: pass
def Next(name,url,image): HTML = process.OPEN_URL(url) match = re.compile('<iframe width="660" height="400" scrolling="no" frameborder="0" src="http://mystream.la/external/(.+?)" allowFullScreen></iframe>').findall(HTML) for end in match: url = 'http://mystream.la/external/'+end process.Play(name,url,116,image,FANART,'','') xbmcplugin.endOfDirectory(int(sys.argv[1]))
def Check_Link(name, url, image): HTML = process.OPEN_URL(url) match = re.compile( '<iframe width="660" height="400" scrolling="no" frameborder="0" src="http://mystream.la/external/(.+?)" allowFullScreen></iframe>' ).findall(HTML) for end in match: url = 'http://mystream.la/external/' + end process.Play(name, url, 205, image, 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, '') 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 not 'http' in url: if len(url) == 11: url = 'plugin://plugin.video.youtube/play/?video_id=' + url elif url.startswith('PL') and not '&order=' in url: url = 'plugin://plugin.video.youtube/play/?&order=default&playlist_id=' + url else: url = 'plugin://plugin.video.youtube/play/?playlist_id=' + url process.Play(name, url, 401, 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, '') else: process.Play(name, url, 401, iconimage, fanart, desc, '') xbmcplugin.setContent(addon_handle, 'movies') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE)
def search(url): html = process.OPEN_URL(url) Search_Name = dialog.input('Search', type=xbmcgui.INPUT_ALPHANUM) Search_Title = Search_Name.lower() 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).replace('_',' '),url,906,iconimage,fanart,desc,'')
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 GetContent(url,iconimage): link=process.OPEN_URL(url) match= re.compile('<link>(.+?)</link><thumbnail>(.+?)</thumbnail><title>(.+?)</title>').findall(link) for url,iconimage,name in match: if not 'http' in iconimage:iconimage='' if '/brettusbuilds.com/' in url: process.Menu(name,url,1601,iconimage,'','','') else:process.Play(name,url,906,iconimage,'','','')
def Stand_up(): HTML = process.OPEN_URL(BASE) Block = re.compile('<tr>.+?<td width=".+?" align=".+?">.+?<img border=".+?" src="..(.+?)" width=".+?" height=".+?"></td>.+?<td width=".+?" valign=".+?" align=".+?"><font size=".+?">(.+?)</font></td>.+?<td width=".+?">(.+?)</td>',re.DOTALL).findall(HTML) for img, comic, c in Block: find_URL = re.compile('<a href="(.+?)">(.+?)</a>',re.DOTALL).findall(c) for url, name in find_URL: if 'tube' in url: url = (url).replace('http://www.youtube.com/watch?v=','') process.Play(url,url,109,'','','','') elif 'stage' in url: process.Play(comic + ' - ' + name,(url).replace('" target="_blank',''),103,'http://couchtripper.com/'+img,FANART,'','') elif 'vee' in url: pass xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE); xbmcplugin.endOfDirectory(int(sys.argv[1]))
def Radio(url): process.Menu('Please allow loading to finish before pressing back','','','','','','') process.Menu('To save potentially crashing kodi','','','','','','') html=process.OPEN_URL(url) match = re.compile('<tr>.+?<td><a href=".+?"><b>(.+?)</b>.+?<td><a href="(.+?)">',re.DOTALL).findall(html) for name,url in match: process.Play(name,url,502,'','','','') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE);
def Apprentice_Search(Search_name, url): HTML_app = process.OPEN_URL(url) if HTML_app != 'Opened': match_app = re.compile( '<a href="(.+?)" target="_blank"><img src="(.+?)" style="max-width:200px;" /><description = "(.+?)" /><background = "(.+?)" </background></a><br><b>(.+?)</b>' ).findall(HTML_app) for url, img, desc, fanart, name in match_app: if Search_name in name.lower(): name = '[COLORwhitesmoke]Apprentice[/COLOR] ' + name if 'php' in url: process.Menu(name, url, 1303, img, fanart, desc, '') elif 'playlist' in url: process.Menu(name, url, 10002, img, fanart, desc, '') elif 'watchseries' in url: process.Menu(name, url, 112, img, fanart, desc, '') elif not 'http' in url: process.Play(name, url, 10003, img, fanart, desc, '') else: process.Play(name, url, 1307, img, fanart, desc, '')
def watch_cartoon_grab_movies(url): html = process.OPEN_URL(url) match = re.compile('<li><a href="(.+?)" title=".+?">(.+?)</a>').findall( html) for url, name in match: name = name.replace('’', '\'').replace('‘', '\'').replace( '&', '&').replace('–', '-') if '<' in name: pass else: process.Play(name, url, 808, ICON, FANART, '', '')
def Kids_Audio(): HTML = process.OPEN_URL(Decode('aHR0cDovL3d3dy5raWRzYXVkaW9ib29rcy5jby51ay9jb21wbGV0ZV9saXN0Lmh0bQ==')) match = re.compile('<td width=".+?">.*?<b>.+?<a href="(.*?)">(.*?)</a></b></td>',re.DOTALL).findall(HTML) for url,name in match: if '</a>' in name: pass elif '(' in name: process.Menu((name).replace(' ','').replace(' ','').replace('+','').replace('.mp3','').replace(' ','').replace('\n',' '),Decode('aHR0cDovL3d3dy5raWRzYXVkaW9ib29rcy5jby51ay8=') + url,605,ICON,FANART,'','') else: process.Play((name).replace(' ','').replace(' ','').replace('+','').replace('.mp3','').replace(' ','').replace('\n',' '),Decode('aHR0cDovL3d3dy5raWRzYXVkaW9ib29rcy5jby51ay8=') + url,604,ICON,FANART,'','') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE);
def Regex(url): HTML = process.OPEN_URL(url) match = re.compile('<NAME="(.+?)"<URL="(.+?)"<MODE="(.+?)"<IMAGE="(.+?)"<FANART="(.+?)"<DESC="(.+?)"').findall(HTML) for name,url,mode,image,fanart,desc in match: if image == 'IMAGES': image = ICON if fanart == 'FANART': fanart = FANART if '.php' in url: process.Menu(name,url,104,image,fanart,desc,'') if mode == 'single': process.Play(name,url,109,image,fanart,desc,'') elif mode == 'playlist': process.Menu(name,url,107,image,fanart,desc,'') elif mode == 'watchseries': process.Menu(name,url,112,image,fanart,desc,name) elif mode == 'normal': process.Play(name,url,105,image,fanart,desc,'') xbmcplugin.addSortMethod(addon_handle, xbmcplugin.SORT_METHOD_TITLE); xbmcplugin.endOfDirectory(int(sys.argv[1]))
def Get_Ultra_Channel(url): headers = {"User-Agent": "Mozilla/5.0"} HTML = requests.get(url,headers=headers).text match = re.compile('".+?[@](.+?)[@].+?[@].+?[@](.+?)"').findall(HTML) for name,url in match: name = name.replace('[','').replace(']','') if name[0] == ' ': name = name[1:] if name[-1] == ' ': name = name[:-1] url = 'plugin://plugin.video.f4mTester/?streamtype=TSDOWNLOADER&url='+url.replace('[','').replace(']','')+';name=Wiztv' process.Play(name,url,906,'','','','')