Exemple #1
0
def Movie_Genre(url):
	html = process.OPEN_URL('http://www.imdb.com/genre/')
	match = re.compile('<h3><a href="(.+?)">(.+?)<span class="normal">').findall(html)
	for url, name in match:
		url = 'http://www.imdb.com/search/title?genres='+name.replace(' ','').lower()+'&title_type=feature&sort=moviemeter,asc'
		process.Menu(name,url,203,'','','','')
		process.setView('movies', 'INFO')
Exemple #2
0
def IMDB_Grab(url):
	try:
		List = []
		xbmc.log(url)
		html = process.OPEN_URL(url)
		match = re.compile('<div class="lister-item-image float-left">.+?<a href="(.+?)".+?<img alt="(.+?)".+?loadlate="(.+?)".+?<span class="lister-item-year text-muted unbold">(.+?)</span>.+?<p class="text-muted">\n(.+?)</p>',re.DOTALL).findall(html)
		for url,name,image,year,desc in match:
			image = image.replace('45,67','174,256').replace('UY67','UY256').replace('UX67','UX175').replace('UY98','UY256').replace('SX54','SX170').replace('54,74','174,256').replace('67,98','174,256')
			try:
				if '(2017)' in year:
					pass
				else:
					xbmc.log(image)
					year = year.replace('(I) ','').replace('II','')
					process.Menu(name + ' ' + year,'Movies',16,image,'',desc,'OLD')
					process.setView('movies', 'INFO')
			except:
				pass
		next_page = re.compile('<a href="(.+?)"\nclass="lister-page-next next-page" ref-marker=adv_nxt>Next &#187;</a>').findall(html)
		for item in next_page:
			if item not in List:
				process.Menu('Next Page','http://imdb.com/search/title'+item,203,'','','','')
				List.append(item)
	except:
		pass
Exemple #3
0
def Search():
    Dialog = xbmcgui.Dialog()
    image = ICON
    description = ''
    fanart = FANART
    Search_name = Dialog.input('Search', type=xbmcgui.INPUT_ALPHANUM)
    Search_url = Main + 'search/' + (Search_name).replace(' ', '%20')
    if Search_name == '':
        pass
    else:
        OPEN = process.OPEN_URL(Search_url)
        match = re.compile(
            '<div class="block-left-home-inside col-sm-9 col-xs-12" title=".+?">.+?<a href="(.+?)" title=.+?<img src="(.+?)" alt=.+?<b>(.+?)</b></a><br>(.+?)<br>',
            re.DOTALL).findall(OPEN)
        for url, img, name, desc in match:
            name = (name).replace('&nbsp;', '-').replace('---', ' - ').replace(
                '&#039;', '\'').replace('&amp;', '&').replace('&quot;', '"')
            url = Main + url
            image = Main + img
            description = (desc).replace('<b>', '').replace(
                '</b>',
                '').replace('&nbsp;', '-').replace('---', ' - ').replace(
                    '&#039;', '\'').replace('&amp;', '&').replace(
                        '&quot;', '"').replace('Description: ',
                                               '').replace('  ', '')
            process.Menu(name, url, 305, image, fanart, description, name)
            process.setView('Movies', 'INFO')
    xbmcplugin.endOfDirectory(int(sys.argv[1]))
def Latest_Eps(url):
    OPEN = process.OPEN_URL(url)
    match = re.compile('<li class="col-md-6 col-xs-12 list-movies-li"><a href="(.+?)" title=".+?">(.+?)<span class="epnum">(.+?)</span></a></li>').findall(OPEN)
    for url,name,date in match:
        url = Main + url
        name = (name).replace('Seas.','Season').replace('Ep.','Episode').replace('&nbsp;','-').replace('---',' - ').replace('&#039;','\'').replace('&amp;','&').replace('&quot;','"')
        process.Menu(name+' - [COLORred]'+date+'[/COLOR]',url,310,ICON,FANART,'','')
    	process.setView('Movies', 'INFO')
    xbmcplugin.endOfDirectory(int(sys.argv[1]))	
Exemple #5
0
def search_movies():
	Search_title = xbmcgui.Dialog().input('Search', type=xbmcgui.INPUT_ALPHANUM)
	url = 'http://www.imdb.com/find?ref_=nv_sr_fn&q='+Search_title.replace(' ','+')+'&s=all'
	html = process.OPEN_URL(url)
	match = re.compile('<tr class="findResult.+?"> <td class="primary_photo"> <a href=".+?" ><img src="(.+?)" /></a> </td> <td class="result_text"> <a href=".+?" >(.+?)</a>(.+?)</td>').findall(html)
	for image,title,year in match:
		if '<' in year:
			pass
		else:
			if '(TV Series)' in year:
				pass
			else:
				image = image.replace('32,44','174,256').replace('UY67','UY256').replace('UX32','UX175').replace('UY44','UY256')
				process.Menu(title,'Movies',16,image,'','','OLD')
				process.setView('movies', 'INFO')
Exemple #6
0
def Latest_Eps(url):
    OPEN = process.OPEN_URL(url)
    match = re.compile(
        '<li class="col-md-6 col-xs-12 list-movies-li"><a href="(.+?)" title=".+?">(.+?)<span class="epnum">(.+?)</span></a></li>'
    ).findall(OPEN)
    for url, name, date in match:
        url = Main + url
        name = (name).replace('Seas.', 'Season').replace(
            'Ep.',
            'Episode').replace('&nbsp;', '-').replace('---', ' - ').replace(
                '&#039;', '\'').replace('&amp;', '&').replace('&quot;', '"')
        process.Menu(name + ' - [COLORred]' + date + '[/COLOR]', url, 310,
                     ICON, FANART, '', '')
        process.setView('Movies', 'INFO')
    xbmcplugin.endOfDirectory(int(sys.argv[1]))
Exemple #7
0
def IMDB_Get_Episode_info(url, title):
    ep_year = ''
    image = ''
    html = process.OPEN_URL(url)
    block = re.compile(
        '<div class="list_item(.+?)itemprop="description">(.+?)</div>',
        re.DOTALL).findall(html)
    for block_, desc in block:
        name = re.compile('title="(.+?)"').findall(str(block_))
        for item in name:
            name = item
        image = re.compile('src="(.+?)"').findall(str(block_))
        for item in image:
            image = item
        year = re.compile('<div class="airdate">(.+?)</div>',
                          re.DOTALL).findall(str(block_))
        for item in year:
            date = item
            splitone = item.replace('\n', '').replace('  ', '').replace(
                '	', '') + '>'
            show_year_split = re.compile(' .+?\. (.+?)>').findall(
                str(splitone))
            for item in show_year_split:
                ep_year = item
        ep_no = re.compile('<div>S(.+?)</div>').findall(str(block_))
        for item in ep_no:
            ep_no = item
        ep_split = ep_no + '<'
        Split = re.compile('(.+?),(.+?)<').findall(str(ep_split))
        for one, two in Split:
            season = one.replace('S', 'Season ')
            episode = two.replace('Ep', 'Episode ').replace(' Episode ', '')
        title_split = re.compile('(.+?)\((.+?)\)').findall(str(title))
        for title, show_year in title_split:
            title = title
            show_year = show_year
        search_split = 'SPLITTER>' + title + '>' + show_year + '>' + ep_year + '>' + season + '>' + episode + '>'
        search_split = search_split.replace(' >', '>')
        final_name = 'Episode ' + episode + ' - ' + name
        try:
            process.Menu(
                str(final_name), '', 307, str(image), '',
                '[COLORred]AIR DATE[/COLOR] == ' +
                str(date).replace('  ', '').replace('\n', '') + '\n' +
                str(desc), search_split)
            process.setView('movies', 'INFO')
        except:
            pass
Exemple #8
0
def Grab_Season(iconimage,url):
    image = ' '
    description = ' '
    fanart = ' '
    season = ' '
    OPEN = process.OPEN_URL(url)
    image = re.compile('<img src="(.+?)">').findall(OPEN)
    for image in image:
        image = image
    background = re.compile('style="background-image: url\((.+?)\)">').findall(OPEN)
    for fanart in background:
        fanart = fanart	
    match = re.compile('itemprop="season".+?href=".+?" href="(.+?)".+?aria-hidden=".+?"></i>.+?S(.+?)</span>',re.DOTALL).findall(OPEN)
    for url,season in match:
        season = 'S'+(season).replace('  ','').replace('\n','').replace('    ','').replace('	','')
        url = Main + url
        process.Menu((season).replace('  ',''),url,113,image,fanart,description,'')
        process.setView('Movies', 'INFO')
    xbmcplugin.endOfDirectory(int(sys.argv[1]))	
def Search():
    Dialog = xbmcgui.Dialog()
    image = ICON
    description = ''
    fanart = FANART
    Search_name = Dialog.input('Search', type=xbmcgui.INPUT_ALPHANUM)
    Search_url = Main + 'search/' + (Search_name).replace(' ','%20')
    if Search_name == '':
        pass
    else:
        OPEN = process.OPEN_URL(Search_url)
        match = re.compile('<div class="block-left-home-inside col-sm-9 col-xs-12" title=".+?">.+?<a href="(.+?)" title=.+?<img src="(.+?)" alt=.+?<b>(.+?)</b></a><br>(.+?)<br>',re.DOTALL).findall(OPEN)
        for url,img,name,desc in match:
            name = (name).replace('&nbsp;','-').replace('---',' - ').replace('&#039;','\'').replace('&amp;','&').replace('&quot;','"')
            url = Main + url
            image = Main + img
            description = (desc).replace('<b>','').replace('</b>','').replace('&nbsp;','-').replace('---',' - ').replace('&#039;','\'').replace('&amp;','&').replace('&quot;','"').replace('Description: ','').replace('  ','')
            process.Menu(name,url,305,image,fanart,description,name)		
            process.setView('Movies', 'INFO')
    xbmcplugin.endOfDirectory(int(sys.argv[1]))	
Exemple #10
0
def IMDB_Get_Episode_info(url,title):
	ep_year = ''
	html = requests.get(url).text
	block = re.compile('<div class="list_item(.+?)itemprop="description">(.+?)</div>',re.DOTALL).findall(html)
	for block_,desc in block:
		name = re.compile('title="(.+?)"').findall(str(block_))
		for item in name:
			name = item
		image = re.compile('src="(.+?)"').findall(str(block_))
		for item in image:
			image = item
		else:
			image = ''
		year = re.compile('<div class="airdate">(.+?)</div>',re.DOTALL).findall(str(block_))
		for item in year:
			splitone = item.replace('\n','').replace('  ','').replace('	','') +'>'
			xbmc.log(splitone)
			show_year_split = re.compile(' .+?\. (.+?)>').findall(str(splitone))
			for item in show_year_split:
				ep_year = item
		ep_no = re.compile('<div>S(.+?)</div>').findall(str(block_))
		for item in ep_no:
			ep_no = item
		ep_split = ep_no+'<'
		Split = re.compile('(.+?),(.+?)<').findall(str(ep_split))
		for one,two in Split:
			season = one.replace('S','Season ')
			episode = two.replace('Ep','Episode ').replace(' Episode ','')
		title_split = re.compile('(.+?)\((.+?)\)').findall(str(title))
		for title,show_year in title_split:
			title = title
			show_year = show_year
		search_split = 'SPLITTER>'+title+'>'+show_year+'>'+ep_year+'>'+season+'>'+episode+'>'
		search_split = search_split.replace(' >','>')
		xbmc.log('SPLIT===='+search_split)
		xbmc.log('EPISODE='+episode)
		final_name = 'Episode '+episode+' - '+name
		process.Menu(final_name.encode('utf-8'),'',307,image,'',desc.encode('utf-8'),search_split)
		process.setView('movies', 'I')
def WhatsOnCOUK(url, extra):
    try:
        html = requests.get(url).text
        channel_block = re.compile(
            '<div class="div-epg-channel-progs">.+?<div class="div-epg-channel-name">(.+?)</div>(.+?)</div></div></div>',
            re.DOTALL).findall(html)
        for channel, block in channel_block:
            prog = re.compile(
                '<a qt-title="(.+?)".+?<br>(.+?)<br>.+?</div>(.+?)<br>',
                re.DOTALL).findall(str(block.encode('utf-8')))
            for show_info, show_no, info in prog:
                show_no = show_no.replace('</div>', '')
                info = info.replace('</div>', '').replace('</a>', '')
                if 'href' in info:
                    change = re.compile('(.+?)href').findall(str(info))
                    for thing in change:
                        info = thing
                time_finder = re.compile('(.+?)-(.+?) ').findall(
                    str(show_info))
                for start, finish in time_finder:
                    if 'am' in start:
                        time_split = re.compile('(.+?):(.+?)am').findall(
                            str(start))
                        for hour, minute in time_split:
                            start_number = (int(hour) * 60) + int(minute)
                    elif 'pm' in start:
                        time_split = re.compile('(.+?):(.+?)pm').findall(
                            str(start))
                        for hour, minute in time_split:
                            if hour == '12':
                                start_number = (int(hour) * 60) + int(minute)
                            else:
                                start_number = (int(hour) +
                                                12) * 60 + int(minute)
                    if 'am' in finish:
                        time_split = re.compile('(.+?):(.+?)am').findall(
                            str(finish))
                        for hour, minute in time_split:
                            finish_number = (int(hour) * 60) + int(minute)
                    elif 'pm' in finish:
                        time_split = re.compile('(.+?):(.+?)pm').findall(
                            str(finish))
                        for hour, minute in time_split:
                            if hour == '12':
                                finish_number = (int(hour) * 60) + int(minute)
                            else:
                                finish_number = (int(hour) +
                                                 12) * 60 + int(minute)
                    if int(start_number) < int(time_now_number) < int(
                            finish_number):
                        if not extra or extra == '':
                            clean_channel = channel.replace(
                                'BBC1 London',
                                'BBC1').replace('BBC2 London', 'BBC2').replace(
                                    'ITV London', 'ITV1')
                            process.Menu(
                                clean_channel.encode('utf-8') + ': ' +
                                show_info.encode('utf-8'), '', 2203, '', '',
                                show_no + '\n' + info,
                                clean_channel.replace('HD', ''))
                            process.setView('movies', 'INFO2')
                        else:
                            clean_channel = channel.replace(
                                'BBC1 London',
                                'BBC1').replace('BBC2 London', 'BBC2').replace(
                                    'ITV London', 'ITV1')
                            clean_extra = extra.replace(
                                'BBC1 London', 'BBC1').replace(
                                    'BBC2 London',
                                    'BBC2').replace('ITV London', 'ITV1')
                            if clean_extra == clean_channel:
                                process.Menu(
                                    clean_channel.encode('utf-8') + ': ' +
                                    show_info.encode('utf-8'), '', 2203, '',
                                    '', show_no + '\n' + info,
                                    clean_channel.replace('HD', ''))
                                process.setView('movies', 'INFO2')
                            else:
                                pass
    except:
        pass