From 66986a5f634f2cd57ce5128add1fd8e6b5047088 Mon Sep 17 00:00:00 2001 From: Intel1 Date: Mon, 31 Jul 2017 14:43:53 -0500 Subject: [PATCH] cinetux: cambio de estructura Cambio de estructura --- plugin.video.alfa/channels/cinetux.py | 151 +++++++++++++++----------- 1 file changed, 89 insertions(+), 62 deletions(-) diff --git a/plugin.video.alfa/channels/cinetux.py b/plugin.video.alfa/channels/cinetux.py index 6f732a12..b4fda788 100755 --- a/plugin.video.alfa/channels/cinetux.py +++ b/plugin.video.alfa/channels/cinetux.py @@ -10,6 +10,7 @@ from core import servertools from core import tmdb from core.item import Item + CHANNEL_HOST = "http://www.cinetux.net/" # Configuracion del canal @@ -31,12 +32,15 @@ def mainlist(item): itemlist = [] item.viewmode = viewmode - itemlist.append(item.clone(title="Películas", text_color=color2, action="", text_bold=True)) - itemlist.append(item.clone(action="peliculas", title=" Novedades", url=CHANNEL_HOST, + data = httptools.downloadpage(CHANNEL_HOST).data + total = scrapertools.find_single_match(data, "TENEMOS\s(.*?)") + titulo = "Peliculas (%s)" %total + itemlist.append(item.clone(title=titulo, text_color=color2, action="", text_bold=True)) + itemlist.append(item.clone(action="peliculas", title=" Novedades", url=CHANNEL_HOST + "pelicula", thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" "/0/Directors%20Chair.png", text_color=color1)) - itemlist.append(item.clone(action="vistas", title=" Más vistas", url="http://www.cinetux.net/mas-vistos/", + itemlist.append(item.clone(action="destacadas", title=" Destacadas", url="http://www.cinetux.net/mas-vistos/", thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" "/0/Favorites.png", text_color=color1)) @@ -130,22 +134,22 @@ def peliculas(item): # Descarga la página data = httptools.downloadpage(item.url).data - - # Extrae las entradas (carpetas) - patron = '
.*?
\s*([^<]*)<.*?href="([^"]+)".*?src="([^"]+)"' \ - '.*?

([^<]+)' + patron = '(?s)class="(?:result-item|item movies)">.*?([^<]+)') try: - fulltitle, year = scrapedtitle.rsplit("(", 1) - year = scrapertools.get_match(year, '(\d{4})') + fulltitle = scrapedtitle + year = scrapedyear.replace(" ","") if "/" in fulltitle: fulltitle = fulltitle.split(" /", 1)[0] - scrapedtitle = "%s (%s)" % (fulltitle, year) + scrapedtitle = "%s (%s)" % (fulltitle, year) except: fulltitle = scrapedtitle - year = "" - if calidad: scrapedtitle += " [%s]" % calidad new_item = item.clone(action="findvideos", title=scrapedtitle, fulltitle=fulltitle, @@ -155,12 +159,13 @@ def peliculas(item): new_item.infoLabels['year'] = int(year) itemlist.append(new_item) try: - tmdb.set_infoLabels(itemlist, __modo_grafico__) + #tmdb.set_infoLabels(itemlist, __modo_grafico__) + a = 1 except: pass # Extrae el paginador - next_page_link = scrapertools.find_single_match(data, ']+>»') + next_page_link = scrapertools.find_single_match(data, '([^<]+)' - matches = scrapertools.find_multiple_matches(data, patron) - for scrapedurl, scrapedthumbnail, scrapedtitle in matches: + bloque = scrapertools.find_single_match(data, 'peliculas_destacadas.*?class="single-page') + patron = '(?s)title="([^"]+)"' + patron += '.href="([^"]+)"' + patron += '.*?src="([^"]+)' + matches = scrapertools.find_multiple_matches(bloque, patron) + for scrapedtitle, scrapedurl, scrapedthumbnail in matches: + scrapedurl = "http://www.cinetux.net" + scrapedurl + scrapedtitle = scrapedtitle.replace("Ver ","") new_item = item.clone(action="findvideos", title=scrapedtitle, fulltitle=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, contentTitle=scrapedtitle, contentType="movie") @@ -189,7 +198,7 @@ def vistas(item): # Extrae el paginador next_page_link = scrapertools.find_single_match(data, ']+>»') if next_page_link: - itemlist.append(item.clone(action="vistas", title=">> Página siguiente", url=next_page_link, text_color=color3)) + itemlist.append(item.clone(action="destacadas", title=">> Página siguiente", url=next_page_link, text_color=color3)) return itemlist @@ -200,15 +209,15 @@ def generos(item): # Descarga la página data = httptools.downloadpage(item.url).data - bloque = scrapertools.find_single_match(data, '
Géneros
(.*?)') - + bloque = scrapertools.find_single_match(data, '(?s)dos_columnas">(.*?)') # Extrae las entradas - patron = '
  • (.*?)
  • ' + patron = '
  • (.*?)
  • ' matches = scrapertools.find_multiple_matches(bloque, patron) for scrapedurl, scrapedtitle in matches: + scrapedurl = CHANNEL_HOST + scrapedurl scrapedtitle = scrapertools.htmlclean(scrapedtitle).strip() scrapedtitle = unicode(scrapedtitle, "utf8").capitalize().encode("utf8") - if scrapedtitle == "Erotico" and config.get_setting("adult_mode") == '0': + if scrapedtitle == "Erotico" and config.get_setting("adult_mode") == 0: continue itemlist.append(item.clone(action="peliculas", title=scrapedtitle, url=scrapedurl)) @@ -226,7 +235,7 @@ def idioma(item): return itemlist - + def findvideos(item): logger.info() itemlist = [] @@ -241,10 +250,10 @@ def findvideos(item): # Busca el argumento data = httptools.downloadpage(item.url).data - year = scrapertools.find_single_match(data, '

    .*?rel="tag">([^<]+)') + year = scrapertools.find_single_match(item.title, "\(([0-9]+)") if year and item.extra != "library": - item.infoLabels['year'] = int(year) + item.infoLabels['year'] = int(year) # Ampliamos datos en tmdb if not item.infoLabels['plot']: try: @@ -271,15 +280,15 @@ def findvideos(item): if itemlist: 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 videoteca de XBMC" + text_color="magenta")) + # Opción "Añadir esta película a la videoteca 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", filtro=True, action="add_pelicula_to_library", url=item.url, infoLabels={'title': item.fulltitle}, fulltitle=item.fulltitle, extra="library")) - + else: itemlist.append(item.clone(title="No hay enlaces disponibles", action="", text_color=color3)) @@ -289,66 +298,84 @@ def findvideos(item): def bloque_enlaces(data, filtro_idioma, dict_idiomas, type, item): logger.info() lista_enlaces = [] - matches = [] + if type == "online" : t_tipo = "Ver Online" + if type == "descarga": t_tipo = "Descargar" + data = data.replace("\n","") if type == "online": - patron = '([^<]+)' - bloques = scrapertools.find_multiple_matches(data, patron) - for id, language in bloques: - patron = 'id="' + id + '">.*?