From ae8bfff8fb1fd0cca0347ab1b412ff583d3012d1 Mon Sep 17 00:00:00 2001 From: pipcat Date: Tue, 5 Jun 2018 11:21:17 +0200 Subject: [PATCH] Cambios en peliculasdk --- plugin.video.alfa/channels/peliculasdk.json | 5 +- plugin.video.alfa/channels/peliculasdk.py | 312 ++++++++++++-------- 2 files changed, 194 insertions(+), 123 deletions(-) mode change 100755 => 100644 plugin.video.alfa/channels/peliculasdk.json diff --git a/plugin.video.alfa/channels/peliculasdk.json b/plugin.video.alfa/channels/peliculasdk.json old mode 100755 new mode 100644 index d06dc8d3..beacc736 --- a/plugin.video.alfa/channels/peliculasdk.json +++ b/plugin.video.alfa/channels/peliculasdk.json @@ -7,8 +7,9 @@ "thumbnail": "http://s29.postimg.cc/wzw749oon/pldklog.jpg", "banner": "peliculasdk.png", "categories": [ - "torrent", - "movie" + "movie", + "vos", + "adult" ], "settings": [ { diff --git a/plugin.video.alfa/channels/peliculasdk.py b/plugin.video.alfa/channels/peliculasdk.py index 7ca8e205..dd5fcb50 100644 --- a/plugin.video.alfa/channels/peliculasdk.py +++ b/plugin.video.alfa/channels/peliculasdk.py @@ -10,35 +10,76 @@ from core.scrapertools import decodeHtmlentities as dhe from platformcode import logger from platformcode import config from core import tmdb +from channelselector import get_thumb + +from channels import filtertools +from channels import autoplay + __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'peliculasdk') __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'peliculasdk') +__adult_mode__ = config.get_setting("adult_mode") host = "http://www.peliculasdk.com" + +IDIOMAS = {'es': 'Español', 'la': 'Latino', 'su': 'Subtitulado', 'in': 'Inglés'} +list_language = IDIOMAS.values() +list_quality = ['HD-1080', 'HD-720', 'HD-320', 'BR-R', 'BR-S', 'DVD-R', 'DVD-S', 'TS-HQ', 'TS', 'CAM'] # -R:Rip, -S:Screener +list_servers = ['directo', 'streamango', 'powvideo', 'datoporn', 'gamovideo', 'streamplay', 'okru', 'rapidvideo', 'openload'] + + def mainlist(item): logger.info() + + autoplay.init(item.channel, list_servers, list_quality) + itemlist = [] - itemlist.append( - Item(channel=item.channel, title="[COLOR orange]Estrenos[/COLOR]", action="peliculas", url= host + "/ver/estrenos", - fanart="http://s24.postimg.cc/z6ulldcph/pdkesfan.jpg", - thumbnail="http://s16.postimg.cc/st4x601d1/pdkesth.jpg")) - itemlist.append( - Item(channel=item.channel, title="[COLOR orange]PelisHd[/COLOR]", action="peliculas", url= host + "/calidad/HD-720/", - fanart="http://s18.postimg.cc/wzqonq3w9/pdkhdfan.jpg", - thumbnail="http://s8.postimg.cc/nn5669ln9/pdkhdthu.jpg")) - itemlist.append( - Item(channel=item.channel, title="[COLOR orange]Pelis HD-Rip[/COLOR]", action="peliculas", url= host + "/calidad/HD-320", - fanart="http://s7.postimg.cc/3pmnrnu7f/pdkripfan.jpg", - thumbnail="http://s12.postimg.cc/r7re8fie5/pdkhdripthub.jpg")) - itemlist.append( - Item(channel=item.channel, title="[COLOR orange]Pelis Audio español[/COLOR]", action="peliculas", url= host + "/idioma/Espanol/", - fanart="http://s11.postimg.cc/65t7bxlzn/pdkespfan.jpg", - thumbnail="http://s13.postimg.cc/sh1034ign/pdkhsphtub.jpg")) - itemlist.append( - Item(channel=item.channel, title="[COLOR orange]Buscar...[/COLOR]", action="search", url= host + "/calidad/HD-720/", - fanart="http://s14.postimg.cc/ceqajaw2p/pdkbusfan.jpg", - thumbnail="http://s13.postimg.cc/o85gsftyv/pdkbusthub.jpg")) + + itemlist.append(Item(channel=item.channel, title='Estrenos', action='peliculas', url= host + "/ver/estrenos/", + thumbnail=get_thumb('newest', auto=True), type='movies')) + + itemlist.append(Item(channel=item.channel, title='Por géneros', action='section', + thumbnail=get_thumb('genres', auto=True), type='movies')) + + itemlist.append(Item(channel=item.channel, title='Por calidades', action='section', + thumbnail=get_thumb('quality', auto=True), type='movies')) + + itemlist.append(Item(channel=item.channel, title='Por idiomas', action='section', + thumbnail=get_thumb('language', auto=True), type='movies')) + + if __adult_mode__ != 0: + itemlist.append(Item(channel=item.channel, title='Adultos +18', action='peliculas', url= host + "/genero/adultos/", + thumbnail=get_thumb('adults', auto=True), type='movies')) + + itemlist.append(Item(channel=item.channel, title='Buscar...', action='search', + thumbnail=get_thumb('search', auto=True), type='movies')) + + autoplay.show_option(item.channel, itemlist) + + return itemlist + + +def section(item): + logger.info() + itemlist=[] + duplicados=[] + data = httptools.downloadpage(host).data + + if 'Por géneros' in item.title: + patron = '
  • ([^<]*)<\/a><\/li>' #
  • Acción
  • + elif 'Por calidades' in item.title: + patron = "
  • ([^<]*)<\/a><\/li>" #
  • HD 1080
  • + elif 'Por idiomas' in item.title: + patron = "
  • ([^<]*)<\/a><\/li>" #
  • Español
  • + + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, scrapedtitle in matches: + if scrapedtitle not in duplicados: + itemlist.append(Item(channel=item.channel, url=host + scrapedurl, title=scrapedtitle, action='peliculas', + type=item.type)) + duplicados.append(scrapedtitle) return itemlist @@ -62,132 +103,161 @@ def search(item, texto): def buscador(item): logger.info() itemlist = [] + data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - patron = '
    ||", "", scrapedcalidad).strip() - scrapedlenguaje = re.sub(r"||", "", scrapedlenguaje).strip() - if not "Adultos" in scrapedgenero and not "Adultos" in scrapedlenguaje and not "Adultos" in scrapedcalidad: - scrapedcalidad = "[COLOR orange]" + scrapedcalidad + "[/COLOR]" - scrapedlenguaje = "[COLOR orange]" + scrapedlenguaje + "[/COLOR]" - title = scrapedtitle + "-(Idioma: " + scrapedlenguaje + ")" + "-(Calidad: " + scrapedcalidad + ")" - title = "[COLOR white]" + title + "[/COLOR]" - scrapedtitle = scrapedtitle.split("(")[0].strip() - itemlist.append(Item(channel=item.channel, title=title, url=scrapedurl, action="findvideos", - thumbnail=scrapedthumbnail, contentTitle = scrapedtitle, infoLabels={'year':year}, - fanart="http://s18.postimg.cc/h9kb22mnt/pdkfanart.jpg", library=True, folder=True)) - tmdb.set_infoLabels(itemlist, True) - try: - next_page = scrapertools.get_match(data, - '.*?Siguiente »
    ') - itemlist.append(Item(channel=item.channel, action="buscador", title="[COLOR red]siguiente>>[/COLOR]", url=next_page, - thumbnail="http://s6.postimg.cc/uej03x4r5/bricoflecha.png", - fanart="http://s18.postimg.cc/h9kb22mnt/pdkfanart.jpg", folder=True)) - except: - pass + scrapedtitle = re.sub(r"\(\d+\)", "", scrapedtitle).strip() + + audios = scrapertools.find_multiple_matches(scrapedlenguaje, '([^<]*)') + calidad = scrapertools.find_single_match(scrapedcalidad, '([^<]*)') + + titulo = '%s [%s][%s]' % (scrapedtitle, ','.join([a[:3] for a in audios]), calidad) + + # Parece que las pelis de adultos se mezclan en la búsqueda y lo único que las diferencia es que no tienen Calidad + if calidades or __adult_mode__ != 0: + itemlist.append(Item(channel=item.channel, + action="findvideos", url=scrapedurl, + title=titulo, contentTitle=scrapedtitle, + thumbnail=scrapedthumbnail, + language=audios, + quality=calidad, + infoLabels={'year':year} + )) + + tmdb.set_infoLabels(itemlist) + + # Paginación + url_next_page = scrapertools.find_single_match(data,'Siguiente »') + if url_next_page: + itemlist.append(item.clone(title="Siguiente >>", url=url_next_page)) + return itemlist def peliculas(item): logger.info() itemlist = [] - # Descarga la página + data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| |&#.*?;", "", data) - patron = 'style="position:relative;"> ' - patron += '|", "", scrapedcalidad).strip() - scrapedlenguaje = re.sub(r"|", "", scrapedlenguaje).strip() - scrapedlenguaje = scrapedlenguaje.split(',') - if not "Adultos" in scrapedgenero and not "Adultos" in scrapedlenguaje and not "Adultos" in scrapedcalidad: - scrapedtitle = scrapedtitle + + audios = scrapertools.find_multiple_matches(scrapedlenguaje, '([^<]*)') + calidad = scrapertools.find_single_match(scrapedcalidad, '([^<]*)') + generos = scrapertools.find_multiple_matches(scrapedgenero, '([^<]*)') + + titulo = '%s [%s][%s]' % (scrapedtitle, ','.join([a[:3] for a in audios]), calidad) + + if 'Adultos' not in generos or __adult_mode__ != 0: itemlist.append(Item(channel=item.channel, - title=scrapedtitle, - url=scrapedurl, - action="findvideos", + action="findvideos", url=scrapedurl, + title=titulo, contentTitle=scrapedtitle, thumbnail=scrapedthumbnail, - fanart="http://s18.postimg.cc/h9kb22mnt/pdkfanart.jpg", library=True, folder=True, - language=scrapedlenguaje, - quality=scrapedcalidad, - contentTitle = scrapedtitle, + language=audios, + quality=calidad, infoLabels={'year':year} )) + tmdb.set_infoLabels(itemlist) - ## Paginación - next_page = scrapertools.get_match(data, '.*?Siguiente »') - itemlist.append(Item(channel=item.channel, action="peliculas", title="[COLOR red]siguiente>>[/COLOR]", url=next_page, - thumbnail="http://s6.postimg.cc/uej03x4r5/bricoflecha.png", - fanart="http://s18.postimg.cc/h9kb22mnt/pdkfanart.jpg", folder=True)) + + # Paginación + url_next_page = scrapertools.find_single_match(data,'Siguiente »') + if url_next_page: + itemlist.append(item.clone(title="Siguiente >>", url=url_next_page)) + return itemlist def findvideos(item): logger.info() itemlist = [] + data = httptools.downloadpage(item.url).data - data = re.sub(r"", "", data) - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - bloque_tab = scrapertools.find_single_match(data, '
    (.*?)
    ') - patron = '
  • \d<\/span><\/span>([^<]+)<\/span>' - check = re.compile(patron, re.DOTALL).findall(bloque_tab) - servers_data_list = [] - patron = '
    ' + + patron = '
  • \d<\/span><\/span>([^<]+)<\/span>' + check = re.compile(patron, re.DOTALL).findall(data) + if not check: + patron = '
  • ' + check = re.compile(patron, re.DOTALL).findall(data) + for i, valor in enumerate(check): + check[i] = [valor, '', ''] + + patron = '
    (.*?)
    ' matches = re.compile(patron, re.DOTALL).findall(data) - if len(matches) == 0: - patron = '
    ' - matches = re.compile(patron, re.DOTALL).findall(data) - for check_tab, server, id in matches: - if check_tab in str(check): - idioma, calidad = scrapertools.find_single_match(str(check), "" + check_tab + "', '(.*?)', '(.*?)'") - servers_data_list.append([server, id, idioma, calidad]) - url = host + "/Js/videod.js" - data = httptools.downloadpage(url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - data = data.replace('