diff --git a/plugin.video.alfa/channels/pelisplus.py b/plugin.video.alfa/channels/pelisplus.py index eddd9114..b0f36e91 100644 --- a/plugin.video.alfa/channels/pelisplus.py +++ b/plugin.video.alfa/channels/pelisplus.py @@ -1,249 +1,241 @@ # -*- coding: utf-8 -*- +# -*- Channel Pelisplus -*- +# -*- Created for Alfa-addon -*- +# -*- By the Alfa Develop Group -*- import re - +import urllib 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 import jsontools from core.item import Item from platformcode import config, logger from channelselector import get_thumb -from core import servertools -host = "http://www.pelisplus.tv/" +IDIOMAS = {'latino': 'Latino'} +list_language = IDIOMAS.values() -IDIOMA = {'latino': 'Latino'} -list_language = IDIOMA.values() +list_quality = [] -list_quality = ['1080p', - '720p', - '480p', - '360p', - '240p', - 'default' - ] list_servers = [ - 'gvideo', + 'directo', 'openload', - 'thevideos' -] + 'rapidvideo', + 'streamango', + 'vidlox', + 'vidoza' + ] +host = 'https://www.pelisplus.to/' -def get_source(url): - +def get_source(url, referer=None): logger.info() - data = httptools.downloadpage(url).data - data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) + if referer == 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.clone(title="Peliculas", - action="sub_menu", - thumbnail=get_thumb('movies', auto=True), - )) + itemlist.append(Item(channel=item.channel, + title="Peliculas", + action="sub_menu", + thumbnail=get_thumb('movies', auto=True), + )) - itemlist.append( - item.clone(title="Series", - action="sub_menu", - thumbnail=get_thumb('tvshows', auto=True), - )) + itemlist.append(Item(channel=item.channel, + title="Series", + action="sub_menu", + thumbnail=get_thumb('tvshows', auto=True), + )) - itemlist.append( - item.clone(title="Buscar", action="search", url=host + 'busqueda/?s=', - thumbnail=get_thumb('search', auto=True), - )) + itemlist.append(Item(channel=item.channel, + title="Buscar", action="search", url=host + 'search/?s=', + thumbnail=get_thumb('search', auto=True), + )) autoplay.show_option(item.channel, itemlist) return itemlist - def sub_menu(item): logger.info() itemlist = [] content = item.title.lower() - itemlist.append(item.clone(title="Todas", - action="list_all", - url=host + '%s/ultimas-%s/' % (content, content), - thumbnail=get_thumb('all', auto=True), - )) - itemlist.append(item.clone(title="Generos", - action="generos", - url=host + '%s/' % content, - thumbnail=get_thumb('genres', auto=True), - )) + itemlist.append(Item(channel=item.channel, + title="Ultimas", + action="list_all", + url=host + '%s/estrenos' % content, + thumbnail=get_thumb('last', auto=True), + type=content + )) + itemlist.append(Item(channel=item.channel,title="Todas", + action="list_all", + url=host + '%s' % content, + thumbnail=get_thumb('all', auto=True), + type=content + )) + + itemlist.append(Item(channel=item.channel, + title="Generos", + action="section", + thumbnail=get_thumb('genres', auto=True), + type=content + )) return itemlist - def list_all(item): logger.info() + itemlist = [] - itemlist=[] - - data = get_source(item.url) - patron = '(?:|Posters>)(.*?))') + patron = 'href="([^"]+)".*?src="([^"]+)".*?

([^<]+)

' matches = re.compile(patron, re.DOTALL).findall(data) - for scrapedurl, scrapedtitle, scrapedthumbnail in matches: - url = scrapedurl - title = scrapertools.decodeHtmlentities(scrapedtitle) + for scrapedurl, scrapedthumbnail, scrapedtitle in matches: + + title = scrapedtitle thumbnail = scrapedthumbnail + filter_thumb = thumbnail.replace("https://image.tmdb.org/t/p/w300", "") + filter_list = {"poster_path": filter_thumb} + filter_list = filter_list.items() + url = scrapedurl - filtro_thumb = scrapedthumbnail.replace("https://image.tmdb.org/t/p/w154", "") - filtro_list = {"poster_path": filtro_thumb} - filtro_list = filtro_list.items() - new_item=( - Item(channel=item.channel, - action='findvideos', - title=title, - url=url, - thumbnail=thumbnail, - infoLabels={'filtro': filtro_list}, - context=autoplay.context - )) - if 'serie' not in url: - new_item.contentTitle = scrapedtitle + new_item = Item(channel=item.channel, + title=title, + url=url, + thumbnail=thumbnail, + infoLabels={'filtro':filter_list}) + + if item.type == 'peliculas' or 'serie' not in url: new_item.action = 'findvideos' + new_item.contentTitle = scrapedtitle else: - new_item.contentSerieName = scrapedtitle new_item.action = 'seasons' + new_item.contentSerieName = scrapedtitle + itemlist.append(new_item) - tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + tmdb.set_infoLabels(itemlist, seekTmdb=True) + # Paginación + + next_page_pattern = '
' + url_next_page = scrapertools.find_single_match(full_data, next_page_pattern) + if url_next_page: + itemlist.append(Item(channel=item.channel, title="Siguiente >>", url=url_next_page, action='list_all')) - # Pagination - if itemlist != []: - next_page = scrapertools.find_single_match(data, '
  • ') - if next_page != '': - itemlist.append(item.clone(action="list_all", - title='Siguiente >>>', - url=host+next_page, - thumbnail='https://s32.postimg.cc/4zppxf5j9/siguiente.png' - )) return itemlist - -def generos(item): - - logger.info() - itemlist = [] - data = get_source(item.url) - if 'series' not in item.url: - clean_genre = 'PELÍCULAS DE' - else: - clean_genre = 'SERIES DE' - - patron = '