# -*- coding: utf-8 -*- #------------------------------------------------------------ # pelisalacarta - XBMC Plugin # Canal para pordede # http://blog.tvalacarta.info/plugin-xbmc/pelisalacarta/ #------------------------------------------------------------ import urlparse,urllib2,urllib,re import os, sys from core import logger from core import config from core import scrapertools from core import jsontools from core.item import Item from servers import servertools DEBUG = config.get_setting("debug") __category__ = "A" __type__ = "generic" __title__ = "Pordede" __channel__ = "pordede" __language__ = "ES" __creationdate__ = "20140615" DEFAULT_HEADERS = [] DEFAULT_HEADERS.append( ["User-Agent","Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; es-ES; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12"] ) DEFAULT_HEADERS.append( ["Referer","http://www.pordede.com"] ) def isGeneric(): return True def login(): url = "http://www.pordede.com/site/login" post = "LoginForm[username]="+config.get_setting("pordedeuser")+"&LoginForm[password]="+config.get_setting("pordedepassword") headers = DEFAULT_HEADERS[:] data = scrapertools.cache_page(url,headers=headers,post=post) def mainlist(item): logger.info("pelisalacarta.channels.pordede mainlist") itemlist = [] if config.get_setting("pordedeaccount")!="true": itemlist.append( Item( channel=__channel__ , title="Habilita tu cuenta en la configuración..." , action="openconfig" , url="" , folder=False ) ) else: login() itemlist.append( Item(channel=__channel__, action="menuseries" , title="Series" , url="" )) itemlist.append( Item(channel=__channel__, action="menupeliculas" , title="Películas" , url="" )) itemlist.append( Item(channel=__channel__, action="listas_sigues" , title="Listas que sigues" , url="http://www.pordede.com/lists/following" )) itemlist.append( Item(channel=__channel__, action="tus_listas" , title="Tus listas" , url="http://www.pordede.com/lists/yours" )) itemlist.append( Item(channel=__channel__, action="listas_sigues" , title="Top listas" , url="http://www.pordede.com/lists" )) return itemlist def openconfig(item): if "xbmc" in config.get_platform() or "boxee" in config.get_platform(): config.open_settings( ) return [] def menuseries(item): logger.info("pelisalacarta.channels.pordede menuseries") itemlist = [] itemlist.append( Item(channel=__channel__, action="peliculas" , title="Novedades" , url="http://www.pordede.com/series/loadmedia/offset/0/showlist/hot" )) itemlist.append( Item(channel=__channel__, action="generos" , title="Por géneros" , url="http://www.pordede.com/series" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Siguiendo" , url="http://www.pordede.com/series/following" )) itemlist.append( Item(channel=__channel__, action="siguientes" , title="Siguientes Capítulos" , url="http://www.pordede.com/index2.php" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Favoritas" , url="http://www.pordede.com/series/favorite" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Pendientes" , url="http://www.pordede.com/series/pending" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Terminadas" , url="http://www.pordede.com/series/seen" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Recomendadas" , url="http://www.pordede.com/series/recommended" )) itemlist.append( Item(channel=__channel__, action="search" , title="Buscar..." , url="http://www.pordede.com/series" )) return itemlist def menupeliculas(item): logger.info("pelisalacarta.channels.pordede menupeliculas") itemlist = [] itemlist.append( Item(channel=__channel__, action="peliculas" , title="Novedades" , url="http://www.pordede.com/pelis/loadmedia/offset/0/showlist/hot" )) itemlist.append( Item(channel=__channel__, action="generos" , title="Por géneros" , url="http://www.pordede.com/pelis" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Favoritas" , url="http://www.pordede.com/pelis/favorite" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Pendientes" , url="http://www.pordede.com/pelis/pending" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Vistas" , url="http://www.pordede.com/pelis/seen" )) itemlist.append( Item(channel=__channel__, action="peliculas" , title="Recomendadas" , url="http://www.pordede.com/pelis/recommended" )) itemlist.append( Item(channel=__channel__, action="search" , title="Buscar..." , url="http://www.pordede.com/pelis" )) return itemlist def generos(item): logger.info("pelisalacarta.channels.pordede generos") headers = DEFAULT_HEADERS[:] # Descarga la pagina data = scrapertools.cache_page(item.url, headers=headers) if (DEBUG): logger.info("data="+data) # Extrae las entradas (carpetas) data = scrapertools.find_single_match(data,'
([0-9]+)' return parse_listas(item, patron) def tus_listas(item): logger.info("pelisalacarta.channels.pordede tus_listas") patron = '
([0-9]+)' return parse_listas(item, patron) def lista(item): logger.info("pelisalacarta.channels.pordede lista") # Descarga la pagina headers = DEFAULT_HEADERS[:] #headers.append(["Referer",item.extra]) headers.append(["X-Requested-With","XMLHttpRequest"]) data = scrapertools.cache_page(item.url,headers=headers) if (DEBUG): logger.info("data="+data) # Extrae las entradas (carpetas) json_object = jsontools.load_json(data) if (DEBUG): logger.info("html="+json_object["html"]) data = json_object["html"] return parse_mixed_results(item,data) def findvideos(item, verTodos=False): logger.info("pelisalacarta.channels.pordede findvideos") # Descarga la pagina headers = DEFAULT_HEADERS[:] #headers.append(["Referer",item.extra]) #headers.append(["X-Requested-With","XMLHttpRequest"]) data = scrapertools.cache_page(item.url,headers=headers) if (DEBUG): logger.info("data="+data) # Extrae las entradas (carpetas) #json_object = jsontools.load_json(data) #if (DEBUG): logger.info("html="+json_object["html"]) #data = json_object["html"] sesion = scrapertools.find_single_match(data,'SESS = "([^"]+)";') if (DEBUG): logger.info("sesion="+sesion) patron = '[^<]+