# -*- coding: utf-8 -*- import re import urlparse from core import httptools from core import jsontools from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger __modo_grafico__ = config.get_setting('modo_grafico', 'cinefox') __perfil__ = int(config.get_setting('perfil', "cinefox")) __menu_info__ = config.get_setting('menu_info', 'cinefox') # Fijar perfil de color perfil = [['0xFFFFE6CC', '0xFFFFCE9C', '0xFF994D00', '0xFFFE2E2E', '0xFF088A08'], ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E', '0xFFFE2E2E', '0xFF088A08'], ['0xFF58D3F7', '0xFF2E9AFE', '0xFF2E64FE', '0xFFFE2E2E', '0xFF088A08']] if __perfil__ < 3: color1, color2, color3, color4, color5 = perfil[__perfil__] else: color1 = color2 = color3 = color4 = color5 = "" host = "http://www.cinefox.tv" def mainlist(item): logger.info() item.text_color = color1 itemlist = [] itemlist.append(item.clone(action="seccion_peliculas", title="Películas", fanart="http://i.imgur.com/PjJaW8o.png", url=host + "/catalogue?type=peliculas")) # Seccion series itemlist.append(item.clone(action="seccion_series", title="Series", url=host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png")) itemlist.append(item.clone(action="peliculas", title="Documentales", fanart="http://i.imgur.com/Q7fsFI6.png", url=host + "/catalogue?type=peliculas&genre=documental")) if config.get_setting("adult_mode") != 0: itemlist.append(item.clone(action="peliculas", title="Sección Adultos +18", url=host + "/catalogue?type=adultos", fanart="http://i.imgur.com/kIvE1Zh.png")) itemlist.append(item.clone(title="Buscar...", action="local_search")) itemlist.append(item.clone(title="Configurar canal...", text_color="gold", action="configuracion", folder=False)) return itemlist def configuracion(item): from platformcode import platformtools ret = platformtools.show_channel_settings() platformtools.itemlist_refresh() return ret def search(item, texto): logger.info() texto = texto.replace(" ", "+") item.url = host + "/search?q=%s" % texto try: return busqueda(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 local_search(item): logger.info() text = "" if config.get_setting("save_last_search", item.channel): text = config.get_setting("last_search", item.channel) from platformcode import platformtools texto = platformtools.dialog_input(default=text, heading="Buscar en Cinefox") if texto is None: return if config.get_setting("save_last_search", item.channel): config.set_setting("last_search", texto, item.channel) return search(item, texto) def busqueda(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data patron = '
(.*?)(?:
  • |