# -*- coding: utf-8 -*- # -*- Channel TuPelicula -*- # -*- Created for Alfa-addon -*- # -*- By the Alfa Develop Group -*- import re from channels import autoplay from channels import filtertools from core import httptools from core import scrapertools from core import servertools from core import tmdb from core.item import Item from platformcode import config, logger from channelselector import get_thumb host = 'http://www.tupelicula.tv/' IDIOMAS = {'la_la': 'LAT', 'es_es':'CAST', 'en_es':'VOSE', 'en_en':'VO'} list_language = IDIOMAS.values() list_quality = [] list_servers = ['xdrive', 'bitertv', 'okru'] def get_source(url, referer=None): logger.info() if referer is None: data = httptools.downloadpage(url).data else: data = httptools.downloadpage(url, headers={'Referer':referer}).data data = re.sub(r'\n|\r|\t| |
|\s{2,}', "", data) return data def mainlist(item): logger.info() autoplay.init(item.channel, list_servers, list_quality) itemlist = [] itemlist.append(Item(channel=item.channel, title="Todas", action="list_all", url=host, thumbnail=get_thumb('all', auto=True))) itemlist.append(Item(channel=item.channel, title="Castellano", action="list_all", url=host+'filter?language=1', thumbnail=get_thumb('cast', auto=True))) itemlist.append(Item(channel=item.channel, title="Latino", action="list_all", url=host + 'filter?language=2', thumbnail=get_thumb('lat', auto=True))) itemlist.append(Item(channel=item.channel, title="VOSE", action="list_all", url=host + 'filter?language=4', thumbnail=get_thumb('vose', auto=True))) itemlist.append(Item(channel=item.channel, title="Generos", action="section", thumbnail=get_thumb('genres', auto=True))) itemlist.append(Item(channel=item.channel, title = 'Buscar', action="search", url=host + 'search?q=', thumbnail=get_thumb('search', auto=True))) autoplay.show_option(item.channel, itemlist) return itemlist def list_all(item): logger.info() itemlist = [] full_data = get_source(item.url) data = scrapertools.find_single_match(full_data, '
') patron = ' 0: itemlist.append(Item(channel=item.channel, title=scrapedtitle, url=url, action='findvideos', thumbnail=thumbnail, contentTitle=scrapedtitle, language = lang, infoLabels={'year':year})) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) # Paginacion if itemlist != []: next_page = scrapertools.find_single_match(full_data, '
  • ') if next_page != '': itemlist.append(Item(channel=item.channel, action="list_all", title='Siguiente >>>', url=next_page)) return itemlist def section(item): logger.info() itemlist = [] data=get_source(host) if item.title == 'Generos': data = scrapertools.find_single_match(data, '>Películas por género
  • (.*?)') patron = '.?([^<]+)' matches = re.compile(patron, re.DOTALL).findall(data) for url, title in matches: if title.lower() not in ['adultos', 'erotico'] or config.get_setting('adult_mode') > 0: itemlist.append(Item(channel=item.channel, title=title, url=url, action='list_all')) return itemlist def get_language(lang_data): logger.info() language = [] lang_list = scrapertools.find_multiple_matches(lang_data, '/flags/(.*?).png"?') for lang in lang_list: lang = IDIOMAS[lang] if lang not in language: language.append(lang) return language def findvideos(item): logger.info() itemlist = [] data = get_source(item.url) player = scrapertools.find_single_match(data, '