# -*- coding: utf-8 -*- # -*- Channel PedroPolis -*- # -*- Created for Alfa-addon -*- # -*- By the Alfa Develop Group -*- import re import sys import urllib import urlparse from core import httptools from core import scrapertools from core import servertools from core.item import Item from core import channeltools from core import tmdb from platformcode import config, logger from channelselector import get_thumb __channel__ = "pedropolis" host = "http://pedropolis.com/" try: __modo_grafico__ = config.get_setting('modo_grafico', __channel__) __perfil__ = int(config.get_setting('perfil', __channel__)) except: __modo_grafico__ = True __perfil__ = 0 # Fijar perfil de color perfil = [['0xFFFFE6CC', '0xFFFFCE9C', '0xFF994D00', '0xFFFE2E2E', '0xFFFFD700'], ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E', '0xFFFE2E2E', '0xFFFFD700'], ['0xFF58D3F7', '0xFF2E9AFE', '0xFF2E64FE', '0xFFFE2E2E', '0xFFFFD700']] if __perfil__ < 3: color1, color2, color3, color4, color5 = perfil[__perfil__] else: color1 = color2 = color3 = color4 = color5 = "" headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], ['Referer', host]] parameters = channeltools.get_channel_parameters(__channel__) fanart_host = parameters['fanart'] thumbnail_host = parameters['thumbnail'] def mainlist(item): logger.info() itemlist = [item.clone(title="Peliculas", action="menumovies", text_blod=True, viewcontent='movies', viewmode="movie_with_plot", thumbnail=get_thumb("channels_movie.png")), item.clone(title="Series", action="menuseries", text_blod=True, extra='serie', mediatype="tvshow", viewcontent='tvshows', url=host + 'tvshows/', viewmode="movie_with_plot", thumbnail=get_thumb("channels_tvshow.png")), item.clone(title="Buscar", action="search", text_blod=True, extra='buscar', thumbnail=get_thumb('search.png'), url=host)] return itemlist def menumovies(item): logger.info() itemlist = [item.clone(title="Todas", action="peliculas", text_blod=True, url=host + 'movies/', viewcontent='movies', viewmode="movie_with_plot"), item.clone(title="Más Vistas", action="peliculas", text_blod=True, viewcontent='movies', url=host + 'tendencias/?get=movies', viewmode="movie_with_plot"), item.clone(title="Más Valoradas", action="peliculas", text_blod=True, viewcontent='movies', url=host + 'calificaciones/?get=movies', viewmode="movie_with_plot"), item.clone(title="Géneros", action="generos", text_blod=True, viewmode="movie_with_plot", viewcontent='movies', url=host)] return itemlist def menuseries(item): logger.info() itemlist = [item.clone(title="Todas", action="series", text_blod=True, extra='serie', mediatype="tvshow", viewcontent='tvshows', url=host + 'tvshows/', viewmode="movie_with_plot"), item.clone(title="Más Vistas", action="series", text_blod=True, extra='serie', mediatype="tvshow", viewcontent='tvshows', url=host + 'tendencias/?get=tv', viewmode="movie_with_plot"), item.clone(title="Mejor Valoradas", action="series", text_blod=True, extra='serie', mediatype="tvshow", viewcontent='tvshows', url=host + 'calificaciones/?get=tv', viewmode="movie_with_plot")] return itemlist def peliculas(item): logger.info() itemlist = [] url_next_page = '' data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\(.*?\)|\s{2}| ", "", data) # logger.info(data) patron = '
([' '^<]+)
') no_plot.plot = scrapertools.htmlclean(no_plot.plot) no_plot.infoLabels['director'] = scrapertools.find_single_match(data, '([^<]+)
' # year, plot matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedthumbnail, scrapedtitle, tipo, year, plot in matches: title = scrapedtitle if tipo == 'Serie': contentType = 'tvshow' action = 'temporadas' title += ' [COLOR red](' + tipo + ')[/COLOR]' else: contentType = 'movie' action = 'findvideos' title += ' [COLOR green](' + tipo + ')[/COLOR]' itemlist.append(item.clone(title=title, url=scrapedurl, contentTitle=scrapedtitle, extra='buscar', action=action, infoLabels={"year": year}, contentType=contentType, thumbnail=scrapedthumbnail, text_color=color1, contentSerieName=scrapedtitle)) tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__) paginacion = scrapertools.find_single_match(data, '') if paginacion: itemlist.append(Item(channel=item.channel, action="sub_search", title="» Siguiente »", url=paginacion, thumbnail=get_thumb("next.png"))) return itemlist def newest(categoria): logger.info() itemlist = [] item = Item() try: if categoria == 'peliculas': item.url = host + 'movies/' elif categoria == 'infantiles': item.url = host + "genre/animacion/" elif categoria == 'terror': item.url = host + "genre/terror/" else: return [] itemlist = peliculas(item) if itemlist[-1].title == "» Siguiente »": itemlist.pop() # Se captura la excepción, para no interrumpir al canal novedades si un canal falla except: import sys for line in sys.exc_info(): logger.error("{0}".format(line)) return [] return itemlist def generos(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) # logger.info(data) data = scrapertools.find_single_match(data, 'Genero([^<]+)
') item.plot = scrapertools.htmlclean(item.plot) return itemlist def temporadas(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t| |