# -*- coding: utf-8 -*- import re import urlparse from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger def mainlist(item): logger.info() itemlist = [] itemlist.append( Item(channel=item.channel, action="letras", title="Todas por orden alfabético", url="http://seriesadicto.com/", folder=True)) itemlist.append(Item(channel=item.channel, action="search", title="Buscar...")) return itemlist def search(item, texto): logger.info() texto = texto.replace(" ", "+") item.url = "http://seriesadicto.com/buscar/" + texto try: return series(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 letras(item): logger.info() itemlist = [] # Descarga la página data = scrapertools.cachePage(item.url) data = scrapertools.find_single_match(data, '(.*?)') logger.info("data=" + data) patronvideos = '
  • ([^<]+)' matches = re.compile(patronvideos, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: title = scrapedtitle plot = "" url = urlparse.urljoin(item.url, scrapedurl) thumbnail = "" logger.debug("title=[" + title + "], url=[" + url + "], thumbnail=[" + thumbnail + "]") itemlist.append( Item(channel=item.channel, action='series', title=title, url=url, thumbnail=thumbnail, plot=plot)) return itemlist def series(item): logger.info() itemlist = [] '''
  • Justicia ciega ( Blind Justuce ) ''' data = scrapertools.cachePage(item.url) logger.info("data=" + data) patron = '
  • Saving Hope 1x02
       ''' data = scrapertools.cachePage(item.url) patron = ' 0: itemlist.append(Item(channel=item.channel, title="Añadir esta serie a la videoteca", url=item.url, action="add_serie_to_library", extra="episodios", show=item.show)) itemlist.append(Item(channel=item.channel, title="Descargar todos los episodios de la serie", url=item.url, action="download_all_episodes", extra="episodios", show=item.show)) return itemlist def extrae_idiomas(bloqueidiomas): logger.info("idiomas=" + bloqueidiomas) patronidiomas = '([a-z0-9]+).png"' idiomas = re.compile(patronidiomas, re.DOTALL).findall(bloqueidiomas) textoidiomas = "" language=[] for idioma in idiomas: if idioma == "1": textoidiomas = textoidiomas + "Español" + "/" if idioma == "2": textoidiomas = textoidiomas + "Latino" + "/" if idioma == "3": textoidiomas = textoidiomas + "VOSE" + "/" if idioma == "4": textoidiomas = textoidiomas + "VO" + "/" language.append(codigo_a_idioma(idioma)) textoidiomas = textoidiomas[:-1] return textoidiomas, language def codigo_a_idioma(codigo): idioma = "" if codigo == "1": idioma = "Español" if codigo == "2": idioma = "Latino" if codigo == "3": idioma = "VOSE" if codigo == "4": idioma = "VO" return idioma def findvideos(item): logger.info() itemlist = [] ''' Nowvideo Reproducir ''' # Descarga la pagina data = scrapertools.cachePage(item.url) patron = '