# -*- coding: utf-8 -*- # -*- Channel SeriesBlanco -*- # -*- Created for Alfa-addon -*- # -*- By the Alfa Develop Group -*- import re from channels import autoplay from channels import filtertools 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 from channelselector import get_thumb host = 'http://seriesblanco.xyz/' IDIOMAS = {'es': 'Cast', 'la': 'Lat', 'vos': 'VOSE', 'vo': 'VO'} list_language = IDIOMAS.values() list_quality = ['SD', 'Micro-HD-720p', '720p', 'HDitunes', 'Micro-HD-1080p' ] list_servers = ['powvideo','yourupload', 'openload', 'gamovideo', 'flashx', 'clipwatching', 'streamango', 'streamcloud'] def mainlist(item): logger.info() autoplay.init(item.channel, list_servers, list_quality) itemlist = [] itemlist.append(Item(channel=item.channel, title="Nuevos Capitulos", action="new_episodes", thumbnail=get_thumb('new_episodes', auto=True), url=host)) itemlist.append(Item(channel=item.channel, title="Todas", action="list_all", thumbnail=get_thumb('all', auto=True), url=host + 'listado/', )) itemlist.append(Item(channel=item.channel, title="Generos", action="section", thumbnail=get_thumb('genres', auto=True), url=host, )) itemlist.append(Item(channel=item.channel, title="A - Z", action="section", thumbnail=get_thumb('alphabet', auto=True), url=host+'listado/', )) itemlist.append(Item(channel=item.channel, title="Buscar", action="search", thumbnail=get_thumb('search', auto=True))) itemlist = filtertools.show_option(itemlist, item.channel, list_language, list_quality) autoplay.show_option(item.channel, itemlist) return itemlist def get_source(url): logger.info() data = httptools.downloadpage(url).data data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) return data def list_all(item): logger.info() itemlist = [] data = get_source(item.url) contentSerieName = '' patron = "
.*?src='(.*?)' title='(.*?)'" matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedthumbnail, scrapedtitle in matches: url = host + scrapedurl thumbnail = scrapedthumbnail title = scrapertools.decodeHtmlentities(scrapedtitle) itemlist.append(Item(channel=item.channel, action='seasons', title=title, url=url, thumbnail=thumbnail, contentSerieName=scrapedtitle, context=filtertools.context(item, list_language, list_quality), )) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) # #Paginacion if itemlist != []: base_page = scrapertools.find_single_match(item.url,'(.*?)?') next_page = scrapertools.find_single_match(data, '>>') if next_page != '': itemlist.append(Item(channel=item.channel, action="lista", title='Siguiente >>>', url=base_page+next_page, thumbnail='https://s16.postimg.cc/9okdu7hhx/siguiente.png', )) return itemlist def section(item): logger.info() itemlist = [] data = get_source(item.url) if item.title == 'Generos': patron = '
  • (.*?)
  • ' elif item.title == 'A - Z': patron = "(.*?)" matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: if item.title == 'Generos': url = host + scrapedurl else: url = scrapedurl title = scrapedtitle itemlist.append(Item(channel=item.channel, action='list_all', title=title, url=url )) return itemlist def seasons(item): logger.info() itemlist = [] data = get_source(item.url) patron = '.*?Temporada (\d+) ' matches = re.compile(patron, re.DOTALL).findall(data) infoLabels=item.infoLabels for scrapedseason in matches: url = item.url title = 'Temporada %s' % scrapedseason contentSeasonNumber = scrapedseason infoLabels['season'] = contentSeasonNumber thumbnail = item.thumbnail itemlist.append(Item(channel=item.channel, action="episodesxseason", title=title, url=url, thumbnail=thumbnail, contentSeasonNumber=contentSeasonNumber, infoLabels=infoLabels )) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) if config.get_videolibrary_support() and len(itemlist) > 0: itemlist.append(Item(channel=item.channel, title='[COLOR yellow]AƱadir esta serie a la videoteca[/COLOR]', url=item.url, action="add_serie_to_library", extra="episodios", contentSerieName=item.contentSerieName, )) return itemlist def episodios(item): logger.info() itemlist = [] templist = seasons(item) for tempitem in templist: itemlist += episodesxseason(tempitem) return itemlist def episodesxseason(item): logger.info() itemlist = [] data = get_source(item.url) season = item.contentSeasonNumber season_data = scrapertools.find_single_match(data, '