From 34f02238c6407c3e38dc403ad3b52b6157e0bdb1 Mon Sep 17 00:00:00 2001 From: paezner Date: Wed, 13 Mar 2019 16:02:50 +0100 Subject: [PATCH 1/2] Nuevo canal: Mundopelis --- plugin.video.alfa/channels/mundopelis.json | 49 +++++++ plugin.video.alfa/channels/mundopelis.py | 145 +++++++++++++++++++++ 2 files changed, 194 insertions(+) create mode 100644 plugin.video.alfa/channels/mundopelis.json create mode 100644 plugin.video.alfa/channels/mundopelis.py diff --git a/plugin.video.alfa/channels/mundopelis.json b/plugin.video.alfa/channels/mundopelis.json new file mode 100644 index 00000000..c5d39098 --- /dev/null +++ b/plugin.video.alfa/channels/mundopelis.json @@ -0,0 +1,49 @@ +{ + "id": "mundopelis", + "name": "mundopelis", + "active": true, + "adult": false, + "language": ["cast", "lat"], + "thumbnail": "https://mundopelis.xyz/images/logo.png", + "banner": "", + "categories": [ + "movie" + ], + "settings": [ + { + "id": "modo_grafico", + "type": "bool", + "label": "Buscar información extra", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "comprueba_enlaces", + "type": "bool", + "label": "Verificar si los enlaces existen", + "default": false, + "enabled": true, + "visible": true + }, + { + "id": "comprueba_enlaces_num", + "type": "list", + "label": "Número de enlaces a verificar", + "default": 1, + "enabled": true, + "visible": "eq(-1,true)", + "lvalues": [ "5", "10", "15", "20" ] + } + ] +} + + diff --git a/plugin.video.alfa/channels/mundopelis.py b/plugin.video.alfa/channels/mundopelis.py new file mode 100644 index 00000000..3e3e8fca --- /dev/null +++ b/plugin.video.alfa/channels/mundopelis.py @@ -0,0 +1,145 @@ +# -*- coding: utf-8 -*- +#------------------------------------------------------------ +import re, urllib, urlparse + +from channels import autoplay +from platformcode import config, logger, platformtools +from core.item import Item +from core import httptools, scrapertools, jsontools, tmdb +from core import servertools +from channels import filtertools + +host = 'https://mundopelis.xyz' + +list_language = [] +list_servers = ['Rapidvideo', 'Vidoza', 'Openload', 'Youtube'] +list_quality = [] +__channel__='mundopelis' +__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', __channel__) +__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', __channel__) +try: + __modo_grafico__ = config.get_setting('modo_grafico', __channel__) +except: + __modo_grafico__ = True + + +def mainlist(item): + logger.info() + itemlist = [] + autoplay.init(item.channel, list_servers, list_quality) + + itemlist.append(item.clone(title="Novedades" , action="lista", url= host + "/todos-los-estrenos", first=0)) + itemlist.append(item.clone(title="Categorias" , action="categorias", url= host)) + itemlist.append(item.clone(title="Buscar", action="search")) + + itemlist.append(item.clone(title="Configurar canal...", text_color="gold", action="configuracion", folder=False)) + autoplay.show_option(item.channel, itemlist) + return itemlist + + +def configuracion(item): + ret = platformtools.show_channel_settings() + platformtools.itemlist_refresh() + return ret + + +def search(item, texto): + logger.info() + texto = texto.replace(" ", "+") + item.url = host + "/?option=com_spmoviedb&view=searchresults&searchword=%s&type=movies&Itemid=544" % texto + item.first = 0 + try: + return lista(item) + except: + import sys + for line in sys.exc_info(): + logger.error("%s" % line) + return [] + + +def categorias(item): + logger.info() + itemlist = [] + data = httptools.downloadpage(item.url).data + patron = ' ([^"]+)' + matches = re.compile(patron,re.DOTALL).findall(data) + for scrapedurl, scrapedtitle in matches: + scrapedplot = "" + scrapedthumbnail = "" + url = urlparse.urljoin(item.url,scrapedurl) + title = scrapedtitle + itemlist.append(item.clone(channel=item.channel, action="lista", title=title , url=url, first=0, + thumbnail=scrapedthumbnail, plot=scrapedplot) ) + return itemlist + + +def lista(item): + logger.info() + itemlist = [] + + next = False + data = httptools.downloadpage(item.url).data + patron = '
.*?' + patron += ' len(matches): + last = len(matches) + next = True + scrapertools.printMatches(matches) + for scrapedthumbnail, scrapedurl, scrapedtitle in matches[first:last]: + scrapedyear = "-" + title = scrapedtitle.replace(" (2018)", "") + url = urlparse.urljoin(item.url,scrapedurl) + itemlist.append(item.clone(channel=item.channel, action = 'findvideos', title=title, contentTitle = scrapedtitle, + url=url, thumbnail=scrapedthumbnail, infoLabels={'year':scrapedyear} )) + tmdb.set_infoLabels(itemlist, True) + # Paginación + if not next: + url_next_page = item.url + first = last + else: + url_next_page = scrapertools.find_single_match(data, '", "", data) + patron = '<(?:iframe|IFRAME).*?(?:src|SRC)="([^"]+)"' + matches = scrapertools.find_multiple_matches(data, patron) + for url in matches: + lang = "VOSE" + if not config.get_setting('unify'): + title = ' (%s)' % (lang) + else: + title = '' + if url != '': + itemlist.append(item.clone(action="play", title='%s'+title, url=url, language=lang )) + itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) + + # Requerido para Filtrar enlaces + if __comprueba_enlaces__: + itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) + # Requerido para FilterTools + itemlist = filtertools.get_links(itemlist, item, list_language) + # Requerido para AutoPlay + autoplay.start(itemlist, item) + + + if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra !='findvideos' and not "/episodios/" in item.url : + itemlist.append(Item(channel=item.channel, action="add_pelicula_to_library", + title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url, + extra="findvideos", contentTitle=item.contentTitle)) + return itemlist + + From 96f8eba9b031f17d4557b5f666320dce9d76387f Mon Sep 17 00:00:00 2001 From: paezner Date: Fri, 15 Mar 2019 14:22:22 +0100 Subject: [PATCH 2/2] Adultos correcccion codigo --- plugin.video.alfa/channels/eroticage.py | 6 ++---- plugin.video.alfa/channels/fetishshrine.py | 11 +++++------ plugin.video.alfa/channels/filmoviXXX.py | 4 ++-- plugin.video.alfa/channels/mundopelis.json | 5 +++-- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/plugin.video.alfa/channels/eroticage.py b/plugin.video.alfa/channels/eroticage.py index 3c18a5d4..32b9d77c 100644 --- a/plugin.video.alfa/channels/eroticage.py +++ b/plugin.video.alfa/channels/eroticage.py @@ -59,9 +59,8 @@ def lista(item): title = scrapedtitle thumbnail = scrapedthumbnail plot = "" - year = "" itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, thumbnail=thumbnail, - plot=plot, contentTitle=contentTitle, infoLabels={'year':year} )) + plot=plot, fanart=scrapedthumbnail, contentTitle=contentTitle )) next_page = scrapertools.find_single_match(data,'
  • ') if next_page!="": next_page = urlparse.urljoin(item.url,next_page) @@ -80,11 +79,11 @@ def lista(item): def play(item): logger.info() itemlist = [] - data = scrapertools.cachePage(item.url) + data = httptools.downloadpage(item.url).data patron = 'video_url: \'([^\']+)\'' matches = scrapertools.find_multiple_matches(data, patron) for scrapedurl in matches: - itemlist.append(Item(channel=item.channel, action="play", title=item.title, fulltitle=item.fulltitle, url=scrapedurl, + itemlist.append(Item(channel=item.channel, action="play", title=item.title, url=scrapedurl, thumbnail=item.thumbnail, plot=item.plot, show=item.title, server="directo", folder=False)) return itemlist diff --git a/plugin.video.alfa/channels/filmoviXXX.py b/plugin.video.alfa/channels/filmoviXXX.py index 7308fb67..650f9335 100644 --- a/plugin.video.alfa/channels/filmoviXXX.py +++ b/plugin.video.alfa/channels/filmoviXXX.py @@ -26,7 +26,7 @@ def mainlist(item): thumbnail = scrapedthumbnail plot = "" itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, - thumbnail=thumbnail, plot=plot, contentTitle=contentTitle)) + thumbnail=thumbnail, fanart=thumbnail, plot=plot, contentTitle=contentTitle)) next_page_url = scrapertools.find_single_match(data,'