diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index e8bda9ea..70f00b92 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@ - + @@ -18,14 +18,14 @@ resources/media/themes/ss/4.jpg [B]Estos son los cambios para esta versión:[/B] - [COLOR green][B]Arreglos[/B][/COLOR] - ¤ Grantorrent ¤ Zonatorrent ¤ pack +18 - ¤ erotik ¤ pelis24 ¤ cineasiaenlinea - ¤ pelisgratis ¤ repelis ¤ descargacineclasico - ¤ Goovie ¤ PelisFox ¤ PelisPlus - ¤ TvSeriesDk ¤ UqLoad ¤ Vi2 - ¤ gnula.biz + [COLOR green][B]Arreglos[/B][/COLOR] + ¤ allcalidad ¤ canalpelis ¤ ciberpeliculashd + ¤ pelisplay ¤ doramasmp4 ¤ Newpct1 + ¤ AnimeBoom ¤ AnimeID ¤ abtoon + ¤ mixtoon ¤ Animeflv + [COLOR green][B]Novedades[/B][/COLOR] + ¤ Mirapeliculas Navega con Kodi por páginas web para ver sus videos de manera fácil. Browse web pages using Kodi diff --git a/plugin.video.alfa/channels/LIKUOO.py b/plugin.video.alfa/channels/LIKUOO.py index 20925e3c..2ca05d84 100644 --- a/plugin.video.alfa/channels/LIKUOO.py +++ b/plugin.video.alfa/channels/LIKUOO.py @@ -7,8 +7,6 @@ from core import scrapertools from core.item import Item from core import servertools from core import httptools -from core import tmdb -from core import jsontools host = 'http://www.likuoo.video' @@ -16,7 +14,8 @@ host = 'http://www.likuoo.video' def mainlist(item): logger.info() itemlist = [] - itemlist.append( Item(channel=item.channel, title="Ultimos" , action="peliculas", url=host)) + itemlist.append( Item(channel=item.channel, title="Ultimos" , action="lista", url=host)) + itemlist.append( Item(channel=item.channel, title="Pornstar" , action="categorias", url=host + "/pornstars/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/all-channels/")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) return itemlist @@ -27,7 +26,7 @@ def search(item, texto): texto = texto.replace(" ", "+") item.url = host + "/search/?s=%s" % texto try: - return peliculas(item) + return lista(item) except: import sys for line in sys.exc_info(): @@ -46,16 +45,24 @@ def categorias(item): scrapedplot = "" scrapedthumbnail = "https:" + scrapedthumbnail scrapedurl = urlparse.urljoin(item.url,scrapedurl) - itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) + itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, + thumbnail=scrapedthumbnail, plot=scrapedplot) ) + next_page = scrapertools.find_single_match(data,'...') + if next_page!="": + next_page = urlparse.urljoin(item.url,next_page) + itemlist.append(item.clone(action="categorias", title="Página Siguiente >>", text_color="blue", url=next_page) ) return itemlist -def peliculas(item): +def lista(item): logger.info() itemlist = [] data = scrapertools.cachePage(item.url) data = re.sub(r"\n|\r|\t| |
", "", data) - patron = '
.*?.*?src="(.*?)".*?
(.*?)
' + patron = '
.*?' + patron += '.*?' + patron += 'src="(.*?)".*?' + patron += '
(.*?)
' matches = re.compile(patron,re.DOTALL).findall(data) for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedtime in matches: url = urlparse.urljoin(item.url,scrapedurl) @@ -64,12 +71,12 @@ def peliculas(item): contentTitle = title thumbnail = "https:" + scrapedthumbnail plot = "" - year = "" - itemlist.append( Item(channel=item.channel, action="play" , title=title , url=url, thumbnail=thumbnail, plot=plot, contentTitle = contentTitle, infoLabels={'year':year} )) - next_page_url = scrapertools.find_single_match(data,'...
') - if next_page_url!="": - next_page_url = urlparse.urljoin(item.url,next_page_url) - itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) + itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, + plot=plot, contentTitle = contentTitle)) + next_page = scrapertools.find_single_match(data,'...') + if next_page!="": + next_page = urlparse.urljoin(item.url,next_page) + itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) return itemlist diff --git a/plugin.video.alfa/channels/TXXX.py b/plugin.video.alfa/channels/TXXX.py index 3ade3fb3..5755703b 100644 --- a/plugin.video.alfa/channels/TXXX.py +++ b/plugin.video.alfa/channels/TXXX.py @@ -2,14 +2,11 @@ #------------------------------------------------------------ import urlparse,urllib2,urllib,re import os, sys - -from core import jsontools as json from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger from core import httptools -from core import tmdb host = 'http://www.txxx.com' @@ -17,10 +14,10 @@ host = 'http://www.txxx.com' def mainlist(item): logger.info() itemlist = [] - itemlist.append( Item(channel=item.channel, title="Ultimas" , action="peliculas", url=host + "/latest-updates/")) - itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="peliculas", url=host + "/top-rated/")) - itemlist.append( Item(channel=item.channel, title="Mas popular" , action="peliculas", url=host + "/most-popular/")) - itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host + "/channels-list/")) + itemlist.append( Item(channel=item.channel, title="Ultimas" , action="lista", url=host + "/latest-updates/")) + itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="lista", url=host + "/top-rated/")) + itemlist.append( Item(channel=item.channel, title="Mas popular" , action="lista", url=host + "/most-popular/")) + itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host + "/channels-list/most-popular/")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categories/")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) return itemlist @@ -31,7 +28,7 @@ def search(item, texto): texto = texto.replace(" ", "+") item.url = host + "/search/s=%s" % texto try: - return peliculas(item) + return lista(item) except: import sys for line in sys.exc_info(): @@ -44,19 +41,22 @@ def catalogo(item): itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t| |
", "", data) - patron = '
.*?(.*?)' + patron = '
.*?' + patron += '", "", data) patron = 'data-video-id="\d+">.*?(.*?)') + duration = scrapertools.find_single_match(scrapedtime, '(.*?)') + if scrapedhd != '': + title = "[COLOR yellow]" +duration+ "[/COLOR] " + "[COLOR red]" +scrapedhd+ "[/COLOR] "+scrapedtitle + else: + title = "[COLOR yellow]" + duration + "[/COLOR] " + 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} )) - next_page_url = scrapertools.find_single_match(data,'\d+ 10: + itemlist.append( + Item(channel=item.channel, contentSerieName=item.contentSerieName, title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=url, action="lista", page=0)) + else: + itemlist.append( + Item(channel=item.channel, contentSerieName=item.contentSerieName, title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=item.url, action="lista", page=item.page + 1)) + + tmdb.set_infoLabels(itemlist) + return itemlist + +def peliculas(item): + logger.info() + + itemlist = [] + + data = httptools.downloadpage(item.url).data + data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) + patron = '
(.+?)<\/span>' + matches = scrapertools.find_multiple_matches(data, patron) + # Paginacion + num_items_x_pagina = 30 + min = item.page * num_items_x_pagina + min=min-item.page + max = min + num_items_x_pagina - 1 + b=0 + for scrapedplot,scrapedthumbnail, scrapedtitle, scrapedyear, scrapedurl in matches[min:max]: + b=b+1 + url = host + scrapedurl + thumbnail = host +scrapedthumbnail + context = renumbertools.context(item) + context2 = autoplay.context + context.extend(context2) + itemlist.append(item.clone(title=scrapedtitle+"-"+scrapedyear, url=url, action="findvideos", thumbnail=thumbnail, plot=scrapedplot, + show=scrapedtitle,contentSerieName=scrapedtitle,context=context)) + if b<29: + pass + else: + itemlist.append( + Item(channel=item.channel, contentSerieName=item.contentSerieName, title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=item.url, action="peliculas", page=item.page + 1)) + + tmdb.set_infoLabels(itemlist) + return itemlist + +def episodios(item): + logger.info() + + itemlist = [] + data = httptools.downloadpage(item.url).data + # obtener el numero total de episodios + total_episode = 0 + + patron_caps = '
  • (.*?) - (.*?)<\/a><\/li>' + matches = scrapertools.find_multiple_matches(data, patron_caps) + patron_info = '.+?

    ([^"]+)<\/h1>

    (.+?)<\/p>' + scrapedthumbnail, show, scrapedplot = scrapertools.find_single_match(data, patron_info) + scrapedthumbnail = host + scrapedthumbnail + + for link, cap, name in matches: + + title = "" + pat = "$%&" + # varios episodios en un enlace + if len(name.split(pat)) > 1: + i = 0 + for pos in name.split(pat): + i = i + 1 + total_episode += 1 + season, episode = renumbertools.numbered_for_tratk(item.channel, item.contentSerieName, 1, total_episode) + if len(name.split(pat)) == i: + title += "%sx%s " % (season, str(episode).zfill(2)) + else: + title += "%sx%s_" % (season, str(episode).zfill(2)) + else: + total_episode += 1 + season, episode = renumbertools.numbered_for_tratk(item.channel,item.contentSerieName, 1, total_episode) + + title += "%sx%s " % (season, str(episode).zfill(2)) + + url = host + "/" + link + if "DISPONIBLE" in name: + title += "No Disponible aún" + else: + title += name + itemlist.append( + Item(channel=item.channel, action="findvideos", title=title, url=url, show=show, plot=scrapedplot, + thumbnail=scrapedthumbnail)) + + if config.get_videolibrary_support() and len(itemlist) > 0: + itemlist.append(Item(channel=item.channel, title="[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]", url=item.url, + action="add_serie_to_library", extra="episodios", show=show)) + + return itemlist + +def findvideos(item): + import base64 + logger.info() + itemlist = [] + data = httptools.downloadpage(item.url).data + _sl = scrapertools.find_single_match(data, 'var abi = ([^;]+);') + sl = eval(_sl) + buttons = scrapertools.find_multiple_matches(data,'class="bsel" sl="(.+?)"')#[0,1,2,3,4] + for ids in buttons: + id = int(ids) + url_end = golink(id,sl) + new_url = "https://abtoon.net/" + "embed/" + sl[0] + "/" + sl[1] + "/" + str(id) + "/" + sl[2] + url_end + data_new = httptools.downloadpage(new_url).data + data_new = re.sub(r"\n|\r|\t|\s{2}| ", "", data_new) + logger.info("asdasdasdcc"+data_new) + valor1, valor2 = scrapertools.find_single_match(data_new, 'var x0x = \["[^"]*", "([^"]+)", "[^"]*", "[^"]*", "([^"]+)"\];') + try: + url = base64.b64decode(gktools.transforma_gsv(valor2, base64.b64decode(valor1))) + if 'download' in url: + url = url.replace('download', 'preview') + title = '%s' + itemlist.append(Item(channel=item.channel, title=title, url=url, action='play', language='latino', + infoLabels=item.infoLabels)) + except Exception as e: + logger.info(e) + itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) + # Requerido para FilterTools + itemlist = filtertools.get_links(itemlist, item, list_language) + # Requerido para AutoPlay + autoplay.start(itemlist, item) + + return itemlist + +def golink(ida,sl): + a=ida + b=[3,10,5,22,31] + c=1 + d="" + e=sl[2] + for i in range(len(b)): + d=d+substr(e,b[i]+a,c) + return d + +def substr(st,a,b): + return st[a:a+b] \ No newline at end of file diff --git a/plugin.video.alfa/channels/allcalidad.py b/plugin.video.alfa/channels/allcalidad.py index d297d964..3cd981d8 100755 --- a/plugin.video.alfa/channels/allcalidad.py +++ b/plugin.video.alfa/channels/allcalidad.py @@ -19,7 +19,7 @@ list_servers = ['rapidvideo', 'streamango', 'fastplay', 'flashx', 'openload', 'v __channel__='allcalidad' -host = "http://allcalidad.net/" +host = "https://allcalidad.net/" try: __modo_grafico__ = config.get_setting('modo_grafico', __channel__) @@ -198,17 +198,16 @@ def findvideos(item): autoplay.start(itemlist, item) - if itemlist: + if itemlist and item.contentChannel != "videolibrary": itemlist.append(Item(channel = item.channel)) itemlist.append(item.clone(channel="trailertools", title="Buscar Tráiler", action="buscartrailer", context="", text_color="magenta")) # Opción "Añadir esta película a la biblioteca de KODI" - if item.extra != "library": - if config.get_videolibrary_support(): - itemlist.append(Item(channel=item.channel, title="Añadir a la videoteca", text_color="green", - action="add_pelicula_to_library", url=item.url, thumbnail = item.thumbnail, - contentTitle = item.contentTitle - )) + if config.get_videolibrary_support(): + itemlist.append(Item(channel=item.channel, title="Añadir a la videoteca", text_color="green", + action="add_pelicula_to_library", url=item.url, thumbnail = item.thumbnail, + contentTitle = item.contentTitle + )) return itemlist diff --git a/plugin.video.alfa/channels/alsoporn.py b/plugin.video.alfa/channels/alsoporn.py index f1e7e5fb..5bd8e5a4 100644 --- a/plugin.video.alfa/channels/alsoporn.py +++ b/plugin.video.alfa/channels/alsoporn.py @@ -7,15 +7,14 @@ from core import scrapertools from core.item import Item from core import servertools from core import httptools -from core import tmdb -from core import jsontools host = 'http://www.alsoporn.com' + def mainlist(item): logger.info() itemlist = [] - itemlist.append( Item(channel=item.channel, title="Top" , action="peliculas", url=host + "/g/All/top/1")) + itemlist.append( Item(channel=item.channel, title="Top" , action="lista", url=host + "/g/All/top/1")) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host)) itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) return itemlist @@ -26,7 +25,7 @@ def search(item, texto): texto = texto.replace(" ", "+") item.url = host + "/search/=%s/" % texto try: - return peliculas(item) + return lista(item) except: import sys for line in sys.exc_info(): @@ -46,8 +45,8 @@ def catalogo(item): for scrapedurl,cantidad,scrapedtitle in matches: scrapedplot = "" scrapedthumbnail = "" - itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, - thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) + itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, + thumbnail=scrapedthumbnail, plot=scrapedplot) ) return itemlist @@ -62,12 +61,12 @@ def categorias(item): for scrapedurl,scrapedthumbnail,scrapedtitle in matches: scrapedplot = "" scrapedurl = urlparse.urljoin(item.url,scrapedurl) - itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, - thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) + itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, + thumbnail=scrapedthumbnail, plot=scrapedplot) ) return itemlist -def peliculas(item): +def lista(item): logger.info() itemlist = [] data = scrapertools.cachePage(item.url) @@ -82,14 +81,12 @@ def peliculas(item): title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle thumbnail = scrapedthumbnail plot = "" - year = "" itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, - plot=plot, contentTitle = title, infoLabels={'year':year} )) - next_page_url = scrapertools.find_single_match(data,'

  • NEXT') - if next_page_url!="": - next_page_url = urlparse.urljoin(item.url,next_page_url) - itemlist.append( Item(channel=item.channel , action="peliculas", title="Página Siguiente >>", text_color="blue", - url=next_page_url , folder=True) ) + plot=plot, contentTitle = scrapedtitle)) + next_page = scrapertools.find_single_match(data,'
  • NEXT') + if next_page!="": + next_page = urlparse.urljoin(item.url,next_page) + itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) return itemlist diff --git a/plugin.video.alfa/channels/analdin.py b/plugin.video.alfa/channels/analdin.py index 29bf3c73..051cc8f3 100644 --- a/plugin.video.alfa/channels/analdin.py +++ b/plugin.video.alfa/channels/analdin.py @@ -7,17 +7,17 @@ from core import scrapertools from core.item import Item from core import servertools from core import httptools -from core import tmdb -from core import jsontools + host = 'https://www.analdin.com/es' + def mainlist(item): logger.info() itemlist = [] - itemlist.append( Item(channel=item.channel, title="Nuevas" , action="peliculas", url=host + "/más-reciente/")) - itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="peliculas", url=host + "/más-visto/")) - itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="peliculas", url=host + "/mejor-valorado/")) + itemlist.append( Item(channel=item.channel, title="Nuevas" , action="lista", url=host + "/más-reciente/")) + itemlist.append( Item(channel=item.channel, title="Mas Vistas" , action="lista", url=host + "/más-visto/")) + itemlist.append( Item(channel=item.channel, title="Mejor valorada" , action="lista", url=host + "/mejor-valorado/")) itemlist.append( Item(channel=item.channel, title="Canal" , action="catalogo", url=host)) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/categorías/")) itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) @@ -29,7 +29,7 @@ def search(item, texto): texto = texto.replace(" ", "+") item.url = host + "/?s=%s" % texto try: - return peliculas(item) + return lista(item) except: import sys for line in sys.exc_info(): @@ -48,13 +48,12 @@ def catalogo(item): for scrapedurl,scrapedtitle in matches: scrapedplot = "" scrapedthumbnail = "" - itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, - thumbnail=scrapedthumbnail , plot=scrapedplot) ) - next_page_url = scrapertools.find_single_match(data,'
  • ') - if next_page_url!="": - next_page_url = urlparse.urljoin(item.url,next_page_url) - itemlist.append( Item(channel=item.channel, action="catalogo", title="Página Siguiente >>", text_color="blue", - url=next_page_url) ) + itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, + thumbnail=scrapedthumbnail, plot=scrapedplot) ) + next_page = scrapertools.find_single_match(data,'
  • ') + if next_page!="": + next_page = urlparse.urljoin(item.url,next_page) + itemlist.append(item.clone(action="catalogo", title="Página Siguiente >>", text_color="blue", url=next_page) ) return itemlist @@ -71,12 +70,12 @@ def categorias(item): scrapedplot = "" scrapedtitle = scrapedtitle + " (" + cantidad + ")" scrapedurl = urlparse.urljoin(item.url,scrapedurl) - itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, + itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot) ) return itemlist -def peliculas(item): +def lista(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data @@ -91,14 +90,13 @@ def peliculas(item): title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle thumbnail = scrapedthumbnail plot = "" - year = "" itemlist.append( Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumbnail, plot=plot, - contentTitle = title, infoLabels={'year':year} )) - next_page_url = scrapertools.find_single_match(data,'
  • (.*?)
    (.*?).+?' '
    (.*?)
    .+?class="full">(.*?)

    ', re.DOTALL).findall(data) itemlist = [] for thumbnail, url, title, genres, plot in matches: - title = clean_title(title) url = urlparse.urljoin(HOST, url) thumbnail = urlparse.urljoin(HOST, thumbnail) new_item = Item(channel=item.channel, action="episodios", title=title, url=url, thumbnail=thumbnail, fulltitle=title, plot=plot) - if "Pelicula Anime" in genres: new_item.contentType = "movie" new_item.contentTitle = title @@ -189,7 +168,6 @@ def listado(item): if url_pagination: url = urlparse.urljoin(HOST, url_pagination) title = ">> Pagina Siguiente" - itemlist.append(Item(channel=item.channel, action="listado", title=title, url=url)) return itemlist @@ -203,7 +181,6 @@ def episodios(item): item.plot = scrapertools.find_single_match(data, 'Description[^>]+>

    (.*?)

    ') data = scrapertools.find_single_match(data, '
    (.*?)
    ') matches = re.compile(']+>(.+?)>') - itemlist.append(Item(channel=item.channel, action="series", title=">> Página siguiente", + itemlist.append(Item(channel=item.channel, action="series", title="[COLOR cyan]>> Página siguiente[/COLOR]", url=urlparse.urljoin(item.url, page_url), viewmode="movie_with_plot", thumbnail="", plot="")) except: @@ -197,20 +216,22 @@ def episodios(item, final=True): if '"list":[]' in data: break dict_data = jsontools.load(data) - list = dict_data['list'] + list = dict_data['list'][::-1] for dict in list: - itemlist.append(Item(action = "findvideos", + season, episode = renumbertools.numbered_for_tratk(item.channel, item.contentSerieName, 1, int(dict["numero"])) + title = "%sx%s - %s" % (season, str(episode).zfill(2),dict["date"]) + itemlist.append(Item(action = "findvideos", channel = item.channel, - title = "1x" + dict["numero"] + " - " + dict["date"], + title = title, url = CHANNEL_HOST + dict['href'], thumbnail = item.thumbnail, show = item.show, viewmode = "movie_with_plot" )) if config.get_videolibrary_support(): - itemlist.append(Item(channel=item.channel, title="Añadir esta serie a la videoteca", url=item.url, + itemlist.append(Item(channel=item.channel, title="[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]", url=item.url, action="add_serie_to_library", extra="episodios", show=item.show)) - itemlist.append(Item(channel=item.channel, title="Descargar todos los episodios de la serie", url=item.url, + itemlist.append(Item(channel=item.channel, title="[COLOR white]Descargar todos los episodios de la serie[/COLOR]", url=item.url, action="download_all_episodes", extra="episodios", show=item.show)) return itemlist @@ -249,4 +270,8 @@ def findvideos(item): itemlist.append(Item(channel=item.channel, action="findvideos", title="Siguiente: " + title_siguiente, url=CHANNEL_HOST + url_siguiente, thumbnail=item.thumbnail, plot=item.plot, show=item.show, fanart=item.thumbnail, folder=True)) + + # Requerido para AutoPlay + autoplay.start(itemlist, item) + return itemlist diff --git a/plugin.video.alfa/channels/animemovil.py b/plugin.video.alfa/channels/animemovil.py deleted file mode 100644 index 0cd3153a..00000000 --- a/plugin.video.alfa/channels/animemovil.py +++ /dev/null @@ -1,338 +0,0 @@ -# -*- coding: utf-8 -*- - -import re - -from channels import renumbertools -from core import httptools -from core import servertools -from core import jsontools -from core import scrapertools -from core.item import Item -from platformcode import platformtools, config, logger - - - -__modo_grafico__ = config.get_setting('modo_grafico', 'animemovil') -__perfil__ = '' - -# Fijar perfil de color -perfil = [['0xFFFFE6CC', '0xFFFFCE9C', '0xFF994D00', '0xFFFE2E2E', '0xFFFFD700'], - ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E', '0xFFFE2E2E', '0xFFFFD700'], - ['0xFF58D3F7', '0xFF2E9AFE', '0xFF2E64FE', '0xFFFE2E2E', '0xFFFFD700']] -if __perfil__ < 3: - color1, color2, color3, color4, color5 = perfil[__perfil__] -else: - color1 = color2 = color3 = color4 = color5 = "" - -host = "http://animemovil.com" - - -def mainlist(item): - logger.info() - - itemlist = [] - - itemlist.append(Item(channel=item.channel, action="recientes", title="Episodios Recientes", thumbnail=item.thumbnail, - url=host, text_color=color1, contentType="tvshow", extra="recientes")) - - itemlist.append(Item(channel=item.channel, action="listado", title="Anime", thumbnail=item.thumbnail, - url=host+'/api/buscador?q=&letra=ALL&genero=ALL&estado=2&offset=0&limit=20', text_color=color1, contentType="tvshow", extra="recientes")) - - itemlist.append(Item(channel=item.channel, action="list_by_json", title="En emisión", thumbnail=item.thumbnail, - text_color=color2, contentType="tvshow")) - itemlist.append(Item(channel=item.channel, action="indices", title="Índices", thumbnail=item.thumbnail, - text_color=color2)) - - - itemlist.append(Item(channel=item.channel, action="search", title="Buscar...", - thumbnail=item.thumbnail, text_color=color3)) - - itemlist.append(item.clone(title="Configurar canal", action="openconfig", text_color=color5, folder=False)) - if renumbertools.context: - itemlist = renumbertools.show_option(item.channel, itemlist) - - - return itemlist - - -def openconfig(item): - ret = platformtools.show_channel_settings() - platformtools.itemlist_refresh() - return ret - - -def search(item, texto): - item.url = "%s/api/buscador?q=%s&letra=ALL&genero=ALL&estado=2&offset=0&limit=30" % (host, texto.replace(" ", "+")) - return list_by_json(item) - - -def recientes(item): - logger.info() - item.contentType = "tvshow" - itemlist = [] - - data = httptools.downloadpage(item.url).data - data = re.sub(r'\n|\s{2,}','', data) - - bloque = scrapertools.find_single_match(data, '
      (.*?)
    ') - patron = '
  • ') - patron = '') patron = '
  • (.*?)
  • ' matches = re.compile(patron,re.DOTALL).findall(data) scrapertools.printMatches(matches) for scrapedurl,scrapedtitle in matches: scrapedplot = "" scrapedthumbnail = "" - scrapedtitle = str(scrapedtitle) - scrapedurl = host + scrapedurl + scrapedurl = urlparse.urljoin(item.url,scrapedurl) thumbnail = urlparse.urljoin(item.url,scrapedthumbnail) - itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) + itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, + thumbnail=scrapedthumbnail, plot=scrapedplot) ) return itemlist -def peliculas(item): +def lista(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data - patron = '
    .*?(.*?)
    ' + patron = '
    .*?' + patron += 'Next') - if next_page_url!="": - next_page_url = urlparse.urljoin(item.url,next_page_url) - itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) + itemlist.append( Item(channel=item.channel, action="play", title=title, url=scrapedurl, + thumbnail=scrapedthumbnail, fanart=scrapedthumbnail, plot=scrapedplot) ) + next_page = scrapertools.find_single_match(data,'Next') + if next_page!="": + next_page = urlparse.urljoin(item.url,next_page) + itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) return itemlist def play(item): logger.info() data = scrapertools.cachePage(item.url) - url = scrapertools.find_single_match(data,'' + # patron = 'id="(Opt\d+)">.*?src="([^"]+)" frameborder.*?' + patron = 'id="(Opt\d+)">.*?src="(?!about:blank)([^"]+)" frameborder.*?' matches = re.compile(patron, re.DOTALL).findall(data) for option, scrapedurl in matches: diff --git a/plugin.video.alfa/channels/elreyx.py b/plugin.video.alfa/channels/elreyx.py index 9a759807..3f5f7d78 100644 --- a/plugin.video.alfa/channels/elreyx.py +++ b/plugin.video.alfa/channels/elreyx.py @@ -7,8 +7,6 @@ from core import scrapertools from core.item import Item from core import servertools from core import httptools -from core import tmdb -from core import jsontools host = 'http://www.elreyx.com' @@ -17,11 +15,11 @@ def mainlist(item): logger.info() itemlist = [] - itemlist.append( Item(channel=item.channel, title="Peliculas" , action="peliculas", url=host + "/peliculasporno.html")) - itemlist.append( Item(channel=item.channel, title="Escenas" , action="escenas", url=host + "/index.html")) - itemlist.append( Item(channel=item.channel, title="Productora" , action="productora", url=host + "/index.html")) - itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/peliculasporno.html")) - itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) + itemlist.append( Item(channel=item.channel, title="Peliculas" , action="lista", url=host + "/peliculasporno.html") ) + itemlist.append( Item(channel=item.channel, title="Escenas" , action="lista", url=host + "/index.html")) + itemlist.append( Item(channel=item.channel, title="Productora" , action="categorias", url=host + "/index.html") ) + itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host + "/peliculasporno.html") ) + itemlist.append( Item(channel=item.channel, title="Buscar", action="search") ) return itemlist @@ -30,7 +28,7 @@ def search(item, texto): texto = texto.replace(" ", "+") item.url = host + "/search-%s" % texto + ".html" try: - return escenas(item) + return lista(item) except: import sys for line in sys.exc_info(): @@ -38,43 +36,33 @@ def search(item, texto): return [] -def productora(item): - logger.info() - itemlist = [] - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |
    ", "", data) - patron = '(.*?)' - matches = re.compile(patron,re.DOTALL).findall(data) - for scrapedurl,scrapedtitle,scrapedthumbnail in matches: - scrapedplot = "" - thumbnail="https:" + scrapedthumbnail - url="https:" + scrapedurl - itemlist.append( Item(channel=item.channel, action="escenas", title=scrapedtitle, url=url, thumbnail=thumbnail, - plot=scrapedplot) ) - return itemlist - - def categorias(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t| |
    ", "", data) - patron = '.*?' + if item.title == "Categorias" : + patron = '.*?' + else: + patron = '.*?' matches = re.compile(patron,re.DOTALL).findall(data) for scrapedurl,scrapedtitle in matches: scrapedplot = "" url="https:" + scrapedurl scrapedthumbnail = "" - itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=url, + itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=url, thumbnail=scrapedthumbnail, plot=scrapedplot) ) return itemlist -def escenas(item): +def lista(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data - patron = '
    .*?.*?»') if next_page!= "": next_page = urlparse.urljoin(item.url,next_page) - itemlist.append( Item(channel=item.channel, action="escenas", title="Página Siguiente >>", text_color="blue", - url=next_page) ) - return itemlist - - -def peliculas(item): - logger.info() - itemlist = [] - data = httptools.downloadpage(item.url).data - patron = '
    »') - if next_page!="": - next_page = urlparse.urljoin(item.url,next_page) - itemlist.append( Item(channel=item.channel , action="peliculas", title="Página Siguiente >>", text_color="blue", - url=next_page) ) + itemlist.append(item.clone(action="lista", title="Página Siguiente >>", text_color="blue", url=next_page) ) return itemlist diff --git a/plugin.video.alfa/channels/eroticage.py b/plugin.video.alfa/channels/eroticage.py index 042d54ea..3c18a5d4 100644 --- a/plugin.video.alfa/channels/eroticage.py +++ b/plugin.video.alfa/channels/eroticage.py @@ -2,13 +2,11 @@ #------------------------------------------------------------ import urlparse,urllib2,urllib,re import os, sys -from core import jsontools as json from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger from core import httptools -from core import tmdb host = 'http://www.eroticage.net' @@ -16,7 +14,7 @@ host = 'http://www.eroticage.net' def mainlist(item): logger.info() itemlist = [] - itemlist.append( Item(channel=item.channel, title="Novedades" , action="peliculas", url=host)) + itemlist.append( Item(channel=item.channel, title="Novedades" , action="lista", url=host)) itemlist.append( Item(channel=item.channel, title="Categorias" , action="categorias", url=host)) itemlist.append( Item(channel=item.channel, title="Buscar", action="search")) return itemlist @@ -27,7 +25,7 @@ def search(item, texto): texto = texto.replace(" ", "+") item.url = host + "/?s=%s" % texto try: - return peliculas(item) + return lista(item) except: import sys for line in sys.exc_info(): @@ -45,12 +43,12 @@ def categorias(item): for scrapedurl,scrapedtitle in matches: scrapedplot = "" scrapedthumbnail = "" - itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, + itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot) ) return itemlist -def peliculas(item): +def lista(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data @@ -67,8 +65,7 @@ def peliculas(item): next_page = scrapertools.find_single_match(data,'