# -*- coding: utf-8 -*- # -*- Channel DosPelis -*- # -*- Created for Alfa-addon -*- # -*- By the Alfa Develop Group -*- import re import urllib import base64 from channelselector import get_thumb from core import httptools from core import jsontools from core import scrapertools from core import servertools from core import tmdb from lib import jsunpack from core.item import Item from channels import filtertools from channels import autoplay from platformcode import config, logger IDIOMAS = {'mx': 'Latino', 'dk':'Latino', 'es': 'Castellano', 'en': 'VOSE', 'gb':'VOSE'} list_language = IDIOMAS.values() list_quality = [] list_servers = [ 'directo', 'openload', ] __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'dospelis') __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'dospelis') host = 'https://dospelis.com/' def mainlist(item): logger.info() autoplay.init(item.channel, list_servers, list_quality) itemlist = [] itemlist.append(Item(channel=item.channel, title='Peliculas', action='menu_movies', thumbnail= get_thumb('movies', auto=True))) itemlist.append(Item(channel=item.channel, title='Series', url=host+'tvshows', action='list_all', type='tvshows', thumbnail= get_thumb('tvshows', auto=True))) itemlist.append( item.clone(title="Buscar", action="search", url=host + '?s=', thumbnail=get_thumb("search", auto=True), extra='movie')) autoplay.show_option(item.channel, itemlist) return itemlist def menu_movies(item): logger.info() itemlist=[] itemlist.append(Item(channel=item.channel, title='Todas', url=host + 'movies', action='list_all', thumbnail=get_thumb('all', auto=True), type='movies')) itemlist.append(Item(channel=item.channel, title='Genero', action='section', thumbnail=get_thumb('genres', auto=True), type='movies')) itemlist.append(Item(channel=item.channel, title='Por Año', action='section', thumbnail=get_thumb('year', auto=True), type='movies')) 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 get_language(lang_data): logger.info() language = [] lang_list = scrapertools.find_multiple_matches(lang_data, '/flags/(.*?).png\)') for lang in lang_list: if lang == 'en': lang = 'vose' if lang not in language: language.append(lang) return language def section(item): logger.info() itemlist=[] duplicados=[] data = get_source(host+'/'+item.type) if 'Genero' in item.title: patron = '
  • (.*?)/i>' elif 'Año' in item.title: patron = '
  • (.*?)' elif 'Calidad' in item.title: patron = 'menu-item-object-dtquality menu-item-\d+>(.*?)' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: title = scrapedtitle plot='' if 'Genero' in item.title: quantity = scrapertools.find_single_match(scrapedtitle,' (.*?)<') title = scrapertools.find_single_match(scrapedtitle,'(.*?)
    (.*?).*?quality>(.*?)' patron += '<\/div>.*?<\/h3>(.*?)<\/span><\/div>.*?flags(.*?)metadata' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedthumbnail, scrapedtitle, quality, scrapedurl, year, lang_data in matches: title = '%s [%s] [%s]' % (scrapedtitle, year, quality) contentTitle = scrapedtitle thumbnail = scrapedthumbnail url = scrapedurl language = get_language(lang_data) itemlist.append(item.clone(action='findvideos', title=title, url=url, thumbnail=thumbnail, contentTitle=contentTitle, language=language, quality=quality, infoLabels={'year':year})) elif item.type == 'tvshows': patron = '
    (.*?).*?' patron += '.*?<\/h3>(.*?)<\/span><\/div>' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedthumbnail, scrapedtitle, scrapedurl, year in matches: title = scrapedtitle contentSerieName = scrapedtitle thumbnail = scrapedthumbnail url = scrapedurl itemlist.append(item.clone(action='seasons', title=title, url=url, thumbnail=thumbnail, contentSerieName=contentSerieName, infoLabels={'year':year})) tmdb.set_infoLabels(itemlist, seekTmdb=True) # Paginación #url_next_page = scrapertools.find_single_match(data,"]+)>