# -*- coding: utf-8 -*- import re from core import httptools from core import scrapertools from core import servertools from core.item import Item from platformcode import logger host = "http://gnula.nu/" def mainlist(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, title="Estrenos", action="peliculas", url= host +"peliculas-online/lista-de-peliculas-online-parte-1/", viewmode="movie")) itemlist.append( Item(channel=item.channel, title="Generos", action="generos", url= host + "generos/lista-de-generos/")) itemlist.append(Item(channel=item.channel, title="Recomendadas", action="peliculas", url= host + "peliculas-online/lista-de-peliculas-recomendadas/", viewmode="movie")) return itemlist def generos(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = scrapertools.find_single_match(data, ']+>Lista de g(.*?)/table') patron = '([^<]+) .(.*?)
') item.plot = scrapertools.htmlclean(item.plot).strip() item.contentPlot = item.plot patron = 'Ver película online.*?>.*?>([^<]+)' scrapedopcion = scrapertools.find_single_match(data, patron) titulo_opcional = scrapertools.find_single_match(scrapedopcion, ".*?, (.*)").upper() bloque = scrapertools.find_multiple_matches(data, 'contenedor_tab.*?/table') cuenta = 0 for datos in bloque: cuenta = cuenta + 1 patron = '(opción %s.*?)' %cuenta scrapedopcion = scrapertools.find_single_match(data, patron) titulo_opcion = "(" + scrapertools.find_single_match(scrapedopcion, "op.*?, (.*)").upper() + ")" if "TRAILER" in titulo_opcion or titulo_opcion == "()": titulo_opcion = "(" + titulo_opcional + ")" urls = scrapertools.find_multiple_matches(datos, '(?:src|href)="([^"]+)') titulo = "Ver en %s " + titulo_opcion for url in urls: itemlist.append(Item(channel = item.channel, action = "play", contentThumbnail = item.thumbnail, fulltitle = item.contentTitle, title = titulo, url = url )) itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) return itemlist def play(item): item.thumbnail = item.contentThumbnail return [item]