# -*- coding: utf-8 -*- import re import urlparse from core import scrapertools from core import servertools from core.item import Item from platformcode import logger def mainlist(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, title="Películas", action="menupeliculas", url="http://www.bajui2.com/descargas/categoria/2/peliculas", fanart=item.fanart)) itemlist.append(Item(channel=item.channel, title="Series", action="menuseries", fanart=item.fanart)) itemlist.append(Item(channel=item.channel, title="Documentales", action="menudocumentales", fanart=item.fanart)) itemlist.append(Item(channel=item.channel, title="Buscar", action="search", fanart=item.fanart)) return itemlist def menupeliculas(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, title="Películas - Novedades", action="peliculas", url=item.url, fanart=item.fanart, viewmode="movie_with_plot")) itemlist.append( Item(channel=item.channel, title="Películas - A-Z", action="peliculas", url=item.url + "/orden:nombre", fanart=item.fanart, viewmode="movie_with_plot")) #
data = scrapertools.cache_page(item.url) data = scrapertools.get_match(data, '') patron = '([^<]+)' matches = re.compile(patron, re.DOTALL).findall(data) for url, title in matches: scrapedurl = urlparse.urljoin(item.url, url) itemlist.append(Item(channel=item.channel, title="Películas en " + title, action="peliculas", url=scrapedurl, fanart=item.fanart, viewmode="movie_with_plot")) itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url="", fanart=item.fanart)) return itemlist def menuseries(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, title="Series - Novedades", action="peliculas", url="http://www.bajui2.com/descargas/categoria/3/series", fanart=item.fanart, viewmode="movie_with_plot")) itemlist.append(Item(channel=item.channel, title="Series - A-Z", action="peliculas", url="http://www.bajui2.com/descargas/categoria/3/series/orden:nombre", fanart=item.fanart, viewmode="movie_with_plot")) itemlist.append(Item(channel=item.channel, title="Series - HD", action="peliculas", url="http://www.bajui2.com/descargas/subcategoria/11/hd/orden:nombre", fanart=item.fanart, viewmode="movie_with_plot")) itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url="", fanart=item.fanart)) return itemlist def menudocumentales(item): logger.info() itemlist = [] itemlist.append(Item(channel=item.channel, title="Documentales - Novedades", action="peliculas", url="http://www.bajui2.com/descargas/categoria/7/docus-y-tv", fanart=item.fanart, viewmode="movie_with_plot")) itemlist.append(Item(channel=item.channel, title="Documentales - A-Z", action="peliculas", url="http://www.bajui2.com/descargas/categoria/7/docus-y-tv/orden:nombre", fanart=item.fanart, viewmode="movie_with_plot")) itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url="", fanart=item.fanart)) return itemlist # Al llamarse "search" la función, el launcher pide un texto a buscar y lo añade como parámetro def search(item, texto, categoria=""): logger.info(item.url + " search " + texto) itemlist = [] url = item.url texto = texto.replace(" ", "+") logger.info("categoria: " + categoria + " url: " + url) try: item.url = "http://www.bajui2.com/descargas/busqueda/%s" item.url = item.url % texto itemlist.extend(peliculas(item)) return itemlist # 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 peliculas(item, paginacion=True): logger.info() url = item.url # Descarga la página data = scrapertools.cache_page(url) patron = '






patronservidores = '