# -*- coding: utf-8 -*- #------------------------------------------------------------ import urlparse,urllib2,urllib,re import os, sys from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger from core import httptools host = 'http://xxx.justporno.tv' def mainlist(item): logger.info() itemlist = [] itemlist.append( Item(channel=item.channel, title="Ultimos" , action="lista", url=host + "/latest-updates/1/")) itemlist.append( Item(channel=item.channel, title="Mejor valoradas" , action="lista", url=host + "/top-rated/")) itemlist.append( Item(channel=item.channel, title="Mas Vistas", action="lista", url=host + "/most-popular/")) itemlist.append( Item(channel=item.channel, title="Categorias", action="categorias", url=host + "/categories/")) itemlist.append( Item(channel=item.channel, title="Buscar" , action="search")) return itemlist def search(item, texto): logger.info() item.url = "%s/search/%s/" % (host, texto.replace("+", "-")) item.extra = texto try: return lista(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("%s" % line) return [] def categorias(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data patron = '.*?' patron += '
(\d+) video.*?
' matches = re.compile(patron,re.DOTALL).findall(data) for scrapedurl,scrapedtitle,numero in matches: scrapedplot = "" scrapedthumbnail = "" scrapedtitle = scrapedtitle + " (" + numero + ")" thumbnail = urlparse.urljoin(item.url,scrapedthumbnail) itemlist.append( Item(channel=item.channel, action="lista", title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail , plot=scrapedplot) ) return sorted(itemlist, key=lambda i: i.title) def lista(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data patron = '
.*?' patron += 'data-original="([^"]+)".*?' patron += '
(.*?)
' matches = re.compile(patron,re.DOTALL).findall(data) for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedtime in matches: scrapedplot = "" scrapedtitle = "[COLOR yellow]" + (scrapedtime) + "[/COLOR] " + scrapedtitle scrapedurl = "http://xxx.justporno.tv/embed/" + scrapedurl itemlist.append( Item(channel=item.channel, action="play", title=scrapedtitle, url=scrapedurl, fanart=scrapedthumbnail, thumbnail=scrapedthumbnail, plot=scrapedplot) ) if item.extra: next_page = scrapertools.find_single_match(data, '