From 88d26523cdb58b3ea4711656069960fa7bb02453 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Wed, 18 Oct 2017 17:30:00 -0500 Subject: [PATCH] Delete vixto.py --- plugin.video.alfa/channels/vixto.py | 383 ---------------------------- 1 file changed, 383 deletions(-) delete mode 100755 plugin.video.alfa/channels/vixto.py diff --git a/plugin.video.alfa/channels/vixto.py b/plugin.video.alfa/channels/vixto.py deleted file mode 100755 index 6337d4d6..00000000 --- a/plugin.video.alfa/channels/vixto.py +++ /dev/null @@ -1,383 +0,0 @@ -# -*- coding: utf-8 -*- - -import re - -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 - -# Configuracion del canal -__modo_grafico__ = config.get_setting('modo_grafico', "vixto") -__perfil__ = config.get_setting('perfil', "vixto") - -# Fijar perfil de color -perfil = [['0xFFFFE6CC', '0xFFFFCE9C', '0xFF994D00'], - ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E'], - ['0xFF58D3F7', '0xFF2E9AFE', '0xFF2E64FE']] -color1, color2, color3 = perfil[__perfil__] - -host = "http://www.vixto.net/" - - -def mainlist(item): - logger.info() - itemlist = list() - - itemlist.append(item.clone(title="Películas", text_color=color2, action="", - text_bold=True)) - itemlist.append(item.clone(action="listado", title=" Estrenos", text_color=color1, url=host, - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres/" - "0/Directors%20Chair.png")) - itemlist.append(item.clone(action="listado", title=" Novedades", text_color=color1, url=host, - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres/" - "0/Directors%20Chair.png")) - itemlist.append(item.clone(action="listado", title="Series - Novedades", text_color=color2, url=host, - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres/" - "0/TV%20Series.png", text_bold=True)) - - itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3, - url="http://www.vixto.net/buscar?q=")) - - itemlist.append(item.clone(action="configuracion", title="Configurar canal...", text_color="gold", folder=False)) - return itemlist - - -def configuracion(item): - from platformcode import platformtools - ret = platformtools.show_channel_settings() - platformtools.itemlist_refresh() - return ret - - -def search(item, texto): - logger.info() - texto = texto.replace(" ", "+") - item.url = item.url + texto - try: - return busqueda(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 newest(categoria): - logger.info() - itemlist = list() - item = Item() - try: - if categoria == 'peliculas': - item.url = host - itemlist = listado(item) - - if itemlist[-1].action == "listado": - itemlist.pop() - item.title = "Estrenos" - itemlist.extend(listado(item)) - - # 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 listado(item): - logger.info() - itemlist = list() - - item.infoLabels['mediatype'] = "movie" - if "Estrenos" in item.title: - bloque_head = "ESTRENOS CARTELERA" - elif "Series" in item.title: - bloque_head = "RECIENTE SERIES" - item.infoLabels['mediatype'] = "tvshow" - else: - bloque_head = "RECIENTE PELICULAS" - - # Descarga la página - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |\s{2}", "", data) - - # Extrae las entradas (carpetas) - bloque = scrapertools.find_single_match(data, bloque_head + '\s*(.*?)') - patron = '
(.*?)
' \ - '(.*?).*?href.*?>(.*?)' - matches = scrapertools.find_multiple_matches(bloque, patron) - - for scrapedurl, scrapedthumbnail, calidad, idiomas, scrapedtitle in matches: - title = scrapedtitle - langs = [] - if 'idio idi1' in idiomas: - langs.append("VOS") - if 'idio idi2' in idiomas: - langs.append("LAT") - if 'idio idi4' in idiomas: - langs.append("ESP") - if langs: - title += " [%s]" % "/".join(langs) - if calidad: - title += " %s" % calidad - - filtro_thumb = scrapedthumbnail.replace("http://image.tmdb.org/t/p/w342", "") - filtro_list = {"poster_path": filtro_thumb} - filtro_list = filtro_list.items() - - if item.contentType == "tvshow": - new_item = item.clone(action="episodios", title=title, url=scrapedurl, thumbnail=scrapedthumbnail, - fulltitle=scrapedtitle, infoLabels={'filtro': filtro_list}, - contentTitle=scrapedtitle, context="buscar_trailer", text_color=color1, - show=scrapedtitle, text_bold=False) - else: - new_item = item.clone(action="findvideos", title=title, url=scrapedurl, thumbnail=scrapedthumbnail, - fulltitle=scrapedtitle, infoLabels={'filtro': filtro_list}, text_bold=False, - contentTitle=scrapedtitle, context="buscar_trailer", text_color=color1) - - itemlist.append(new_item) - - if item.action == "listado": - try: - tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__) - except: - pass - - return itemlist - - -def busqueda(item): - logger.info() - itemlist = list() - - # Descarga la página - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |\s{2}", "", data) - - # Extrae las entradas (carpetas) - bloque = scrapertools.find_single_match(data, '

Peliculas

(.*?)') - bloque += scrapertools.find_single_match(data, '

Series

(.*?)') - - patron = '
Temporada:(.*?)') - matches = scrapertools.find_multiple_matches(bloque, 'href="([^"]+)">(.*?)') - - for scrapedurl, scrapedtitle in matches: - title = "Temporada %s" % scrapedtitle - - new_item = item.clone(action="", title=title, text_color=color2) - new_item.infoLabels["season"] = scrapedtitle - new_item.infoLabels["mediatype"] = "season" - data_season = httptools.downloadpage(scrapedurl).data - data_season = re.sub(r"\n|\r|\t| |\s{2}", "", data_season) - patron = '
  • .*?href="([^"]+)"(.*?)
    .*?href.*?>' \ - '(.*?)' - matches = scrapertools.find_multiple_matches(data_season, patron) - - elementos = [] - for url, status, title in matches: - if not "Enlaces Disponibles" in status: - continue - elementos.append(title) - item_epi = item.clone(action="findvideos", url=url, text_color=color1) - item_epi.infoLabels["season"] = scrapedtitle - episode = scrapertools.find_single_match(title, 'Capitulo (\d+)') - titulo = scrapertools.find_single_match(title, 'Capitulo \d+\s*-\s*(.*?)$') - item_epi.infoLabels["episode"] = episode - item_epi.infoLabels["mediatype"] = "episode" - item_epi.title = "%sx%s %s" % (scrapedtitle, episode.zfill(2), titulo) - - itemlist.insert(0, item_epi) - if elementos: - itemlist.insert(0, new_item) - - if item.infoLabels["tmdb_id"] and itemlist: - try: - tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__) - except: - pass - - if itemlist: - if config.get_videolibrary_support(): - itemlist.append(Item(channel=item.channel, title="Añadir serie a la videoteca", text_color="green", - filtro=True, action="add_serie_to_library", fulltitle=item.fulltitle, - extra="episodios", url=item.url, infoLabels=item.infoLabels, show=item.show)) - else: - itemlist.append(item.clone(title="Serie sin episodios disponibles", action="", text_color=color3)) - return itemlist - - -def findvideos(item): - logger.info() - itemlist = list() - - try: - filtro_idioma = config.get_setting("filterlanguages", item.channel) - filtro_enlaces = config.get_setting("filterlinks", item.channel) - except: - filtro_idioma = 3 - filtro_enlaces = 2 - - dict_idiomas = {'Castellano': 2, 'Latino': 1, 'Subtitulada': 0} - - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t| |\s{2}", "", data) - - if not item.infoLabels["tmdb_id"]: - year = scrapertools.find_single_match(data, 'Lanzamiento.*?(\d{4})') - - if year != "": - item.infoLabels['filtro'] = "" - item.infoLabels['year'] = int(year) - - # Ampliamos datos en tmdb - try: - tmdb.set_infoLabels_item(item, __modo_grafico__) - except: - pass - - if not item.infoLabels['plot']: - plot = scrapertools.find_single_match(data, '

    (.*?)

    ') - item.infoLabels['plot'] = plot - - if filtro_enlaces != 0: - list_enlaces = bloque_enlaces(data, filtro_idioma, dict_idiomas, "Ver Online", item) - if list_enlaces: - itemlist.append(item.clone(action="", title="Enlaces Online", text_color=color1, - text_bold=True)) - itemlist.extend(list_enlaces) - if filtro_enlaces != 1: - list_enlaces = bloque_enlaces(data, filtro_idioma, dict_idiomas, "Descarga Directa", item) - if list_enlaces: - itemlist.append(item.clone(action="", title="Enlaces Descargas", text_color=color1, - text_bold=True)) - itemlist.extend(list_enlaces) - - # Opción "Añadir esta película a la videoteca de XBMC" - if itemlist and item.contentType == "movie": - contextual = config.is_xbmc() - itemlist.append(item.clone(channel="trailertools", title="Buscar Tráiler", action="buscartrailer", context="", - text_color="magenta", contextual=contextual)) - if item.extra != "findvideos": - if config.get_videolibrary_support(): - itemlist.append(Item(channel=item.channel, title="Añadir enlaces a la videoteca", text_color="green", - filtro=True, action="add_pelicula_to_library", fulltitle=item.fulltitle, - extra="findvideos", url=item.url, infoLabels=item.infoLabels, - contentType=item.contentType, contentTitle=item.contentTitle, show=item.show)) - elif not itemlist and item.contentType == "movie": - itemlist.append(item.clone(title="Película sin enlaces disponibles", action="", text_color=color3)) - - return itemlist - - -def bloque_enlaces(data, filtro_idioma, dict_idiomas, tipo, item): - logger.info() - - lista_enlaces = list() - bloque = scrapertools.find_single_match(data, tipo + '(.*?)') - patron = '\s*.*?([^<]+)' \ - '.*?(.*?)' - matches = scrapertools.find_multiple_matches(bloque, patron) - filtrados = [] - for language, scrapedurl, calidad, orden in matches: - language = language.strip() - server = scrapertools.find_single_match(scrapedurl, 'http(?:s|)://(?:www.|)(\w+).') - if server == "ul": - server = "uploadedto" - if server == "streamin": - server = "streaminto" - if server == "waaw": - server = "netutv" - - if servertools.is_server_enabled(server): - try: - servers_module = __import__("servers." + server) - title = " Mirror en " + server + " (" + language + ") (Calidad " + calidad.strip() + ")" - if filtro_idioma == 3 or item.filtro: - lista_enlaces.append(item.clone(title=title, action="play", server=server, text_color=color2, - url=scrapedurl, idioma=language, orden=orden, language=language)) - else: - idioma = dict_idiomas[language] - if idioma == filtro_idioma: - lista_enlaces.append(item.clone(title=title, text_color=color2, action="play", - url=scrapedurl, server=server, idioma=language, orden=orden, - language=language)) - else: - if language not in filtrados: - filtrados.append(language) - except: - pass - - order = config.get_setting("orderlinks", item.channel) - if order == 0: - lista_enlaces.sort(key=lambda item: item.server) - elif order == 1: - lista_enlaces.sort(key=lambda item: item.idioma) - else: - lista_enlaces.sort(key=lambda item: item.orden, reverse=True) - - if filtro_idioma != 3: - if len(filtrados) > 0: - 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)) - - return lista_enlaces - - -def play(item): - logger.info() - itemlist = list() - enlace = servertools.findvideosbyserver(item.url, item.server) - itemlist.append(item.clone(url=enlace[0][1])) - - return itemlist