# -*- coding: utf-8 -*- import re from core import channeltools from core import httptools from core import scrapertools from core import servertools from core import tmdb from core.item import Item from platformcode import config, logger idiomas1 = {"/es.png":"CAST","/en_es.png":"VOSE","/la.png":"LAT","/en.png":"ENG"} HOST = 'http://www.yaske.ro' parameters = channeltools.get_channel_parameters('yaske') fanart_host = parameters['fanart'] thumbnail_host = parameters['thumbnail'] color1, color2, color3 = ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E'] def mainlist(item): logger.info() itemlist = [] item.url = HOST item.text_color = color2 item.fanart = fanart_host thumbnail = "https://raw.githubusercontent.com/master-1970/resources/master/images/genres/4/verdes/%s.png" itemlist.append(item.clone(title="Novedades", action="peliculas", text_bold=True, viewcontent='movies', url=HOST, thumbnail=thumbnail % 'novedades', viewmode="movie_with_plot")) itemlist.append(item.clone(title="Estrenos", action="peliculas", text_bold=True, url=HOST + "/premiere", thumbnail=thumbnail % 'estrenos')) itemlist.append(item.clone(title="Género", action="menu_buscar_contenido", text_bold=True,thumbnail=thumbnail % 'generos', viewmode="thumbnails", url=HOST )) itemlist.append(item.clone(title="", folder=False)) itemlist.append(item.clone(title="Buscar por título", action="search", thumbnail=thumbnail % 'buscar')) return itemlist def search(item, texto): logger.info() itemlist = [] try: item.url = HOST + "/search/?query=" + texto.replace(' ', '+') item.extra = "" itemlist.extend(peliculas(item)) if itemlist[-1].title == ">> Página siguiente": item_pag = itemlist[-1] itemlist = sorted(itemlist[:-1], key=lambda Item: Item.contentTitle) itemlist.append(item_pag) else: itemlist = sorted(itemlist, key=lambda Item: Item.contentTitle) return itemlist except: import sys for line in sys.exc_info(): logger.error("%s" % line) return [] def newest(categoria): logger.info() item = Item() try: if categoria == 'peliculas': item.url = HOST elif categoria == 'infantiles': item.url = HOST + "/genre/16/" elif categoria == 'terror': item.url = HOST + "/genre/27/" else: return [] itemlist = peliculas(item) if itemlist[-1].title == ">> Página 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 peliculas(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) patron = '(?s)class="post-item-image btn-play-item".*?' patron += 'href="([^"]+)">.*?' patron += ' 0: url_next_page = item.url + matches_next_page for scrapedurl, scrapedthumbnail, year, idiomas, scrapedtitle in matches: year = year.strip() patronidiomas = '0: for server, url, idioma, calidad in matches: if "drive" in server: server = "gvideo" sublist.append(item.clone(action="play", url=url, folder=False, text_color=color1, quality=calidad.strip(), language=idioma.strip(), server = server, title="Ver en %s %s" %(server, calidad) )) data = httptools.downloadpage(url_m + "&page=%s" %page).data matches = scrapertools.find_multiple_matches(data, patron) page +=1 sublist = sorted(sublist, key=lambda Item: Item.quality + Item.server) for k in ["Español", "Latino", "Ingles - Sub Español", "Ingles"]: lista_idioma = filter(lambda i: i.language == k, sublist) if lista_idioma: itemlist.append(item.clone(title=k, folder=False, infoLabels = "", text_color=color2, text_bold=True, thumbnail=thumbnail_host)) itemlist.extend(lista_idioma) tmdb.set_infoLabels(itemlist, True) # Insertar items "Buscar trailer" y "Añadir a la videoteca" if itemlist and item.extra != "library": title = "%s [Buscar trailer]" % (item.contentTitle) itemlist.insert(0, item.clone(channel="trailertools", action="buscartrailer", text_color=color3, title=title, viewmode="list")) if config.get_videolibrary_support(): itemlist.append(Item(channel=item.channel, title="Añadir película a la videoteca", action="add_pelicula_to_library", url=item.url, text_color="green", contentTitle=item.contentTitle, extra="library", thumbnail=thumbnail_host)) return itemlist def play(item): logger.info() itemlist = [] ddd = httptools.downloadpage(item.url).data url = "http://olimpo.link" + scrapertools.find_single_match(ddd, '