diff --git a/mediaserver/platformcode/template/js/protocol.js b/mediaserver/platformcode/template/js/protocol.js index 089a0c3d..4b4fa6d9 100644 --- a/mediaserver/platformcode/template/js/protocol.js +++ b/mediaserver/platformcode/template/js/protocol.js @@ -285,6 +285,7 @@ function get_response(data) { else { keypress = ""; }; + if (!data.items[x].value) data.items[x].value = ""; itemlist[data.items[x].category].push(replace_list(html.config.text, { "item_color": data.items[x].color, "item_label": data.items[x].label, diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index fb22a744..bd0d4480 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@  - + @@ -19,13 +19,15 @@ [B]Estos son los cambios para esta versión:[/B] [COLOR green][B]Arreglos[/B][/COLOR] - [I]- serieslan - - streamplay - - descargasmix - - canalpelis - Canal nuevo + [I]- cinetux + - vidoza + - canalpelis + - pelisplanet + - newpct1 + - pelisplus + - torrentlocura - fix para usar videoteca y en mediaserver - fixes internos[/I] - - [COLOR green]Gracias a [COLOR yellow][B]msdos[/B][/COLOR] por su colaboración en esta versión[/COLOR] + [COLOR green]Gracias a [COLOR yellow][B]xabier100[/B][/COLOR] y [COLOR yellow][B]fermintxu[/B][/COLOR] por su colaboración en esta versión[/COLOR] 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/canalpelis.json b/plugin.video.alfa/channels/canalpelis.json index 86b5856e..e88d7a0a 100644 --- a/plugin.video.alfa/channels/canalpelis.json +++ b/plugin.video.alfa/channels/canalpelis.json @@ -38,6 +38,8 @@ "visible": true, "lvalues": [ "Sin color", + "Perfil 5", + "Perfil 4", "Perfil 3", "Perfil 2", "Perfil 1" diff --git a/plugin.video.alfa/channels/canalpelis.py b/plugin.video.alfa/channels/canalpelis.py old mode 100755 new mode 100644 index 728ba241..364541bc --- a/plugin.video.alfa/channels/canalpelis.py +++ b/plugin.video.alfa/channels/canalpelis.py @@ -127,7 +127,7 @@ def peliculas(item): data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\(.*?\)|\s{2}| ", "", data) - # logger.info(data) + logger.info(data) patron = '
([^.*?' # img, title.strip() patron += '(.*?)/div>.*?' # rating @@ -138,7 +138,8 @@ def peliculas(item): matches = scrapertools.find_multiple_matches(data, patron) for scrapedthumbnail, scrapedtitle, rating, calidad, scrapedurl, year in matches[item.page:item.page + 20]: - if 'Próximamente' not in calidad: + if 'Próximamente' not in calidad and '-XXX.jpg' not in scrapedthumbnail: + scrapedtitle = scrapedtitle.replace('Ver ', '').strip() contentTitle = scrapedtitle.partition(':')[0].partition(',')[0] title = "%s [COLOR green][%s][/COLOR] [COLOR yellow][%s][/COLOR]" % ( diff --git a/plugin.video.alfa/channels/cinetux.py b/plugin.video.alfa/channels/cinetux.py index 348cdaf9..7f732c30 100644 --- a/plugin.video.alfa/channels/cinetux.py +++ b/plugin.video.alfa/channels/cinetux.py @@ -314,15 +314,11 @@ def bloque_enlaces(data, filtro_idioma, dict_idiomas, type, item): url = scrapertools.find_single_match(bloque1, patron) if "goo.gl" in url: url = httptools.downloadpage(url, follow_redirects=False, only_headers=True).headers.get("location", "") - if "www.cinetux.me" in url: - server = scrapertools.find_single_match(url, "player/(.*?)\.") - else: - server = servertools.get_server_from_url(url) - matches.append([url, server, "", language.strip(), t_tipo]) + matches.append([url, "", "", language.strip(), t_tipo]) bloque2 = scrapertools.find_single_match(data, '(?s)box_links.*?dt_social_single') bloque2 = bloque2.replace("\t", "").replace("\r", "") patron = '(?s)optn" href="([^"]+)' - patron += '.*?title="([^"]+)' + patron += '.*?title="([^\.]+)' patron += '.*?src.*?src="[^>]+"?/>([^<]+)' patron += '.*?src="[^>]+"?/>([^<]+)' patron += '.*?/span>([^<]+)' @@ -336,7 +332,7 @@ def bloque_enlaces(data, filtro_idioma, dict_idiomas, type, item): scrapedtipo = match[4] if t_tipo.upper() not in scrapedtipo.upper(): continue - title = " Mirror en " + scrapedserver.split(".")[0] + " (" + scrapedlanguage + ")" + title = " Mirror en %s (" + scrapedlanguage + ")" if len(scrapedcalidad.strip()) > 0: title += " (Calidad " + scrapedcalidad.strip() + ")" @@ -357,6 +353,7 @@ def bloque_enlaces(data, filtro_idioma, dict_idiomas, type, item): title = "Mostrar enlaces filtrados en %s" % ", ".join(filtrados) lista_enlaces.append(item.clone(title=title, action="findvideos", url=item.url, text_color=color3, filtro=True)) + lista_enlaces = servertools.get_servers_itemlist(lista_enlaces, lambda i: i.title % i.server.capitalize()) return lista_enlaces @@ -368,7 +365,6 @@ def play(item): data = httptools.downloadpage(item.url, headers={'Referer': item.extra}).data.replace("\\", "") id = scrapertools.find_single_match(data, 'img src="[^#]+#(.*?)"') item.url = "https://youtube.googleapis.com/embed/?status=ok&hl=es&allow_embed=1&ps=docs&partnerid=30&hd=1&autoplay=0&cc_load_policy=1&showinfo=0&docid=" + id - itemlist = servertools.find_video_items(data=item.url) elif "links" in item.url or "www.cinetux.me" in item.url: data = httptools.downloadpage(item.url).data scrapedurl = scrapertools.find_single_match(data, '3: + url_i = 'http://www.newpct1.com/index.php?page=buscar&url=&letter=&q=%22' + title.replace(" ","%20") + '%22' else: - url_i = 'http://www.newpct1.com/index.php?page=buscar&url=&letter=&q=' + title + url_i = 'http://www.newpct1.com/index.php?page=buscar&url=&letter=&q=' + title if "1.com/series-hd" in url: extra="serie-hd" url = url_i + '&categoryID=&categoryIDR=1469&calidad=' + calidad.replace(" ","+") #DTV+720p+AC3+5.1 - elif "1.com/series-vo" in url: + elif "1.com/series-vo" in url: extra="serie-vo" - url = url_i + '&categoryID=&categoryIDR=775&calidad=' + calidad.replace(" ","+") #HDTV+720p+AC3+5.1 - elif "1.com/series/" in url: + url = url_i + '&categoryID=&categoryIDR=775&calidad=' + calidad.replace(" ","+") #HDTV+720p+AC3+5.1 + elif "1.com/series/" in url: extra="serie-tv" - url = url_i + '&categoryID=&categoryIDR=767&calidad=' + calidad.replace(" ","+") + url = url_i + '&categoryID=&categoryIDR=767&calidad=' + calidad.replace(" ","+") - url += '&idioma=&ordenar=Nombre&inon=Descendente' + url += '&idioma=&ordenar=Nombre&inon=Descendente' ''' else: title = title.replace("Descargar", "", 1).strip() @@ -180,7 +185,7 @@ def listado(item): paginacion = scrapertools.get_match(data, patron) if "Next" in paginacion: - url_next_page = scrapertools.get_match(paginacion, ']+)>Next')[:-1] url_next_page = url_next_page.replace(" ", "%20") # logger.info("[newpct1.py] get_episodios: url_next_page= " + url_next_page) itemlist.append( diff --git a/plugin.video.alfa/channels/pelisplanet.json b/plugin.video.alfa/channels/pelisplanet.json index b76b31b4..7e7f76ad 100644 --- a/plugin.video.alfa/channels/pelisplanet.json +++ b/plugin.video.alfa/channels/pelisplanet.json @@ -38,19 +38,13 @@ "visible": true, "lvalues": [ "Sin color", + "Perfil 5", + "Perfil 4", "Perfil 3", "Perfil 2", "Perfil 1" ] }, - { - "id": "orden_episodios", - "type": "bool", - "label": "Mostrar los episodios de las series en orden descendente", - "default": false, - "enabled": true, - "visible": true - }, { "id": "include_in_newest_peliculas", "type": "bool", diff --git a/plugin.video.alfa/channels/pelisplanet.py b/plugin.video.alfa/channels/pelisplanet.py index d6e77bf0..890f78bb 100644 --- a/plugin.video.alfa/channels/pelisplanet.py +++ b/plugin.video.alfa/channels/pelisplanet.py @@ -1,274 +1,328 @@ -# -*- coding: utf-8 -*- - -import re -import urlparse - -from core import channeltools -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 - -host = "http://www.pelisplanet.com/" - -headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], - ['Referer', host]] - -parameters = channeltools.get_channel_parameters('pelisplanet') -fanart_host = parameters['fanart'] -thumbnail_host = parameters['thumbnail'] -color1, color2, color3 = ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E'] - - -def mainlist(item): - logger.info() - itemlist = [] - item.url = host - item.text_color = color1 - item.fanart = fanart_host - thumbnail = "https://raw.githubusercontent.com/Inter95/tvguia/master/thumbnails/%s.png" - - itemlist.append(item.clone(title="Novedades", action="peliculas", text_blod=True, - viewcontent='movies', thumbnail=thumbnail % 'novedades', - viewmode="movie_with_plot")) - - itemlist.append(item.clone(title="Estrenos", action="peliculas", text_blod=True, - url=host + 'genero/estrenos/', thumbnail=thumbnail % 'estrenos')) - - itemlist.append(item.clone(title="Géneros", action="generos", text_blod=True, - viewcontent='movies', thumbnail=thumbnail % 'generos', - viewmode="movie_with_plot", url=host + 'generos/')) - - itemlist.append(Item(channel=item.channel, title="Filtrar por Idiomas", - fanart=fanart_host, folder=False, text_color=color3, - text_blod=True, thumbnail=thumbnail % 'idiomas')) - - itemlist.append(item.clone(title="Castellano", action="peliculas", text_blod=True, - viewcontent='movies', thumbnail=thumbnail % 'castellano', - viewmode="movie_with_plot", url=host + 'idioma/castellano/')) - - itemlist.append(item.clone(title="Latino", action="peliculas", text_blod=True, - viewcontent='movies', thumbnail=thumbnail % 'latino', - viewmode="movie_with_plot", url=host + 'idioma/latino/')) - - itemlist.append(item.clone(title="Buscar por Título o Actor", action="search", text_blod=True, - thumbnail=thumbnail % 'busqueda', url=host)) - return itemlist - - -def search(item, texto): - logger.info() - - texto = texto.replace(" ", "+") - item.url = urlparse.urljoin(item.url, "?s={0}".format(texto)) - - try: - return sub_search(item) - - # Se captura la excepción, para no interrumpir al buscador global si un canal falla - except: - import sys - for line in sys.exc_info(): - logger.error("{0}".format(line)) - return [] - - -def sub_search(item): - logger.info() - - itemlist = [] - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |
", "", data) - # logger.info(data) - patron = '
.*?\d+') - - if paginacion: - itemlist.append(Item(channel=item.channel, action="sub_search", - title="» Siguiente »", url=paginacion, - thumbnail='https://raw.githubusercontent.com/Inter95/tvguia/master/thumbnails/next.png')) - - tmdb.set_infoLabels(itemlist) - - for item in itemlist: - if item.infoLabels['plot'] == '': - data = httptools.downloadpage(item.url).data - item.fanart = scrapertools.find_single_match( - data, 'meta property="og:image" content="([^"]+)" \/>') - item.plot = scrapertools.find_single_match(data, - 'Castellano\s*

(.+?)') - item.plot = scrapertools.htmlclean(item.plot) - - return itemlist - - -def newest(categoria): - logger.info() - itemlist = [] - item = Item() - try: - if categoria == 'peliculas': - item.url = host - elif categoria == 'infantiles': - item.url = host + "genero/animacion-e-infantil/" - else: - return [] - - itemlist = peliculas(item) - if itemlist[-1].title == "» Siguiente »": - itemlist.pop() - - # Se captura la excepción, para no interrumpir al canal novedades si un canal falla - except: - import sys - for line in sys.exc_info(): - logger.error("{0}".format(line)) - return [] - - 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_todas = '

(.*?)