# -*- coding: utf-8 -*- import re import urlparse from core import scrapertools from core import servertools from core import httptools from core import tmdb from core.item import Item from platformcode import config, logger # Main list manual def mainlist(item): logger.info() itemlist = [] item.url = "http://www.repelis.tv/pag/1" mifan = "http://www.psicocine.com/wp-content/uploads/2013/08/Bad_Robot_Logo.jpg" itemlist.append(Item(channel=item.channel, action="menupelis", title="Peliculas", url="http://www.repelis.tv/pag/1", thumbnail="http://www.gaceta.es/sites/default/files/styles/668x300/public" "/metro_goldwyn_mayer_1926-web.png?itok=-lRSR9ZC", fanart=mifan)) itemlist.append(Item(channel=item.channel, action="menuestre", title="Estrenos", url="http://www.repelis.tv/archivos/estrenos/pag/1", thumbnail="http://t0.gstatic.com/images?q=tbn" ":ANd9GcS4g68rmeLQFuX7iCrPwd00FI_OlINZXCYXEFrJHTZ0VSHefIIbaw", fanart=mifan)) itemlist.append( Item(channel=item.channel, action="menudesta", title="Destacadas", url="http://www.repelis.tv/pag/1", thumbnail="http://img.irtve.es/v/1074982/", fanart=mifan)) itemlist.append(Item(channel=item.channel, action="menupelis", title="Proximos estrenos", url="http://www.repelis.tv/archivos/proximos-estrenos/pag/1", thumbnail="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTpsRC" "-GTYzCqhor2gIDfAB61XeymwgXWSVBHoRAKs2c5HAn29f&reload=on", fanart=mifan)) itemlist.append(Item(channel=item.channel, action="menupelis", title="Todas las Peliculas", url="http://www.repelis.tv/pag/1", thumbnail="https://freaksociety.files.wordpress.com/2012/02/logos-cine.jpg", fanart=mifan)) if config.get_setting("adult_mode") != 0: itemlist.append(Item(channel=item.channel, action="menupelis", title="Eroticas +18", url="http://www.repelis.tv/genero/eroticas/pag/1", thumbnail="http://www.topkamisetas.com/catalogo/images/TB0005.gif", fanart="http://www.topkamisetas.com/catalogo/images/TB0005.gif", extra='adult')) # Quito la busqueda por año si no esta enabled el adultmode, porque no hay manera de filtrar los enlaces # eroticos72 itemlist.append( Item(channel=item.channel, action="poranyo", title="Por Año", url="http://www.repelis.tv/anio/2016", thumbnail="http://t3.gstatic.com/images?q=tbn:ANd9GcSkxiYXdBcI0cvBLsb_nNlz_dWXHRl2Q" "-ER9dPnP1gNUudhrqlR", fanart=mifan)) # Por categoria si que filtra la categoria de eroticos itemlist.append(Item(channel=item.channel, action="porcateg", title="Por Categoria", url="http://www.repelis.tv/genero/accion/pag/1", thumbnail="http://www.logopro.it/blog/wp-content/uploads/2013/07/categoria-sigaretta" "-elettronica.png", fanart=mifan)) itemlist.append( Item(channel=item.channel, action="search", title="Buscar...", url="http://www.repelis.tv/search/?s=", thumbnail="http://thumbs.dreamstime.com/x/buscar-pistas-13159747.jpg", fanart=mifan)) return itemlist def menupelis(item): logger.info(item.url) itemlist = [] data = httptools.downloadpage(item.url).data.decode('iso-8859-1').encode('utf-8') if item.extra == '': section = 'Recién Agregadas' elif item.extra == 'year': section = 'del Año \d{4}' elif item.extra == 'adult': section = 'de Eróticas \+18' else: section = 'de %s'%item.extra patronenlaces = 'Películas %s<\/h.>.*?>(.*?)<\/section>'%section matchesenlaces = re.compile(patronenlaces, re.DOTALL).findall(data) for bloque_enlaces in matchesenlaces: patron = '
.*?' patron += 'Calidad (.*?)<') year = scrapertools.find_single_match(extra_info, '"anio">(\d{4})<') language = scrapertools.find_multiple_matches(extra_info, 'class="(latino|espanol|subtitulado)"') # if language = 'ingles': # language='vo' new_item=Item(channel=item.channel, action="findvideos", title=title, fulltitle=title, url=url, thumbnail=thumbnail, fanart=thumbnail, language=language, quality=quality, infoLabels={'year': year}) if year: tmdb.set_infoLabels_item(new_item) itemlist.append(new_item) try: next_page = scrapertools.get_match(data, '\d+Calidad (.*?)<') year = scrapertools.find_single_match(extra_info, '"anio">(\d{4})<') language = scrapertools.find_single_match(extra_info, 'class="(latino|espanol|subtitulado)"') itemlist.append(Item(channel=item.channel, action="findvideos", title=title, fulltitle=title, url=url, thumbnail=thumbnail, fanart=thumbnail, language=language, quality=quality, infoLabels={'year': year})) ## Paginación # 2> Página siguiente" try: next_page = scrapertools.get_match(data, '\d+', "[COLOR red][B]", plot) plot = re.sub('', "[/B][/COLOR] : ", plot) plot = re.sub('

', "[COLOR green]", plot) plot = re.sub('

', "[/COLOR]\n", plot) plot = re.sub('<[^>]+>', "", plot) splot += plot + "\n[COLOR red][B] Sinopsis[/B][/COLOR]\n " + sinopsis # datos de los enlaces '''
(.*?)(.*?) ">Vimple ''' patron = '(.*?)' matchesx = re.compile(patron, re.DOTALL).findall(data) for bloq in matchesx: patron = 'href="(.*?)".*?0 0">(.*?)(.*?)(.*?)<' matches = re.compile(patron, re.DOTALL).findall(bloq) for scrapedurl, scrapedserver, scrapedlang, scrapedquality in matches: url = urlparse.urljoin(item.url, scrapedurl) logger.info("Lang:[" + scrapedlang + "] Quality[" + scrapedquality + "] URL[" + url + "]") patronenlaces = '.*?://(.*?)/' matchesenlaces = re.compile(patronenlaces, re.DOTALL).findall(scrapedurl) scrapedtitle = "" if scrapedserver == 'Vimple': scrapedserver = 'vimpleru' elif scrapedserver == 'Ok.ru': scrapedserver = 'okru' server = servertools.get_server_name(scrapedserver) for scrapedenlace in matchesenlaces: scrapedtitle = title + " [COLOR white][ [/COLOR]" + "[COLOR green]" + scrapedquality + "[/COLOR]" + "[COLOR white] ][/COLOR]" + " [COLOR red] [" + scrapedlang + "][/COLOR] » " + scrapedserver itemlist.append(Item(channel=item.channel, action="play", title=scrapedtitle, extra=title, url=url, fanart=item.thumbnail, thumbnail=item.thumbnail, plot=splot, language=scrapedlang, quality=scrapedquality, server=server)) if itemlist: itemlist.append(Item(channel=item.channel)) itemlist.append(item.clone(channel="trailertools", title="Buscar Tráiler", action="buscartrailer", text_color="magenta")) # Opción "Añadir esta película a la biblioteca de KODI" if config.get_videolibrary_support(): itemlist.append(Item(channel=item.channel, title="Añadir pelicula a la videoteca", text_color="green", action="add_pelicula_to_library", url=item.url, thumbnail=item.thumbnail, fulltitle=item.fulltitle)) return itemlist def play(item): logger.info() itemlist =[] data = httptools.downloadpage(item.url).data enc = scrapertools.find_multiple_matches(data, "Player\.decode\('(.*?)'\)") dec='' for cod in enc: dec+=decode(cod) url = scrapertools.find_single_match(dec,'src="(.*?)"') itemlist.append(item.clone(url=url)) return itemlist def search(item, texto): logger.info(item.url) texto = texto.replace(" ", "+") item.url = 'http://www.repelis.tv/buscar/?s=%s' % (texto) logger.info(item.url) data = httptools.downloadpage(item.url).data.decode('iso-8859-1').encode('utf-8') logger.info("data: " + data) patron = '