From 023aae84959a56bacc91c482d2af6aedf9938467 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Wed, 4 Jul 2018 12:42:15 -0500 Subject: [PATCH] areadocumental: fix --- plugin.video.alfa/channels/areadocumental.py | 61 +++++++++++++++----- 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/plugin.video.alfa/channels/areadocumental.py b/plugin.video.alfa/channels/areadocumental.py index b360e078..f43600d2 100644 --- a/plugin.video.alfa/channels/areadocumental.py +++ b/plugin.video.alfa/channels/areadocumental.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import urllib +import re from core import httptools from core import scrapertools @@ -25,7 +26,7 @@ def mainlist(item): itemlist.append(item.clone(title="Novedades", action="entradas", url= host + "/resultados-reciente.php?buscar=&genero=", fanart="http://i.imgur.com/Q7fsFI6.png")) - itemlist.append(item.clone(title="Destacados", action="entradas", + itemlist.append(item.clone(title="Destacados", action="destacados", url= host + "/resultados-destacados.php?buscar=&genero=", fanart="http://i.imgur.com/Q7fsFI6.png")) itemlist.append(item.clone(title="Categorías", action="cat", url= host + "/index.php", @@ -37,6 +38,12 @@ def mainlist(item): return itemlist +def get_source(url): + logger.info() + data = httptools.downloadpage(url).data + data = re.sub(r'\n|\r|\t| |
|\s{2,}|"|\(|\)', "", data) + return data + def configuracion(item): from platformcode import platformtools @@ -95,22 +102,19 @@ def indice(item): def cat(item): logger.info() itemlist = [] - data = httptools.downloadpage(item.url).data - bloque = scrapertools.find_single_match(data, '') + for bloque in bloques: + matches = scrapertools.find_multiple_matches(bloque, "
  • (.*?)<") + for scrapedurl, scrapedtitle in matches: + scrapedurl = host + "/" + scrapedurl + if not "TODO" in scrapedtitle: + itemlist.append(item.clone(action="entradas", title=scrapedtitle, url=scrapedurl)) return itemlist -def entradas(item): +def destacados(item): logger.info() itemlist = [] item.text_color = color2 @@ -161,6 +165,37 @@ def entradas(item): return itemlist + +def entradas(item): + logger.info() + itemlist = [] + item.text_color = color2 + + data = get_source(item.url) + + patron = 'class=imagen.*?href=(.*?)>.*?(\d{4}) (.*?)<.*?space>(.*?)<' + matches = scrapertools.find_multiple_matches(data, patron) + for scrapedurl, scrapedthumbnail, scrapedtitle, year, genero, scrapedplot in matches: + infolab = {'plot': scrapedplot, 'genre': genero} + scrapedurl = host + "/" + scrapedurl + scrapedthumbnail = host +'/'+ scrapedthumbnail + title = scrapedtitle + if not year.isspace() and year != "": + infolab['year'] = int(year) + + itemlist.append(item.clone(action="findvideos", title=title, fulltitle=title, + url=scrapedurl, thumbnail=scrapedthumbnail, infoLabels=infolab, contentTitle = + title)) + + next_page = scrapertools.find_single_match(data, '.*?
  • .*?') + next_page = scrapertools.htmlclean(next_page) + if next_page: + itemlist.append(item.clone(action="entradas", title=">> Página Siguiente", url=host + next_page, + text_color=color3)) + + return itemlist + + def findvideos(item): logger.info() itemlist = []