# -*- coding: utf-8 -*-
import re
import urllib
import base64
from core import httptools
from core import scrapertools
from core import servertools
from core import tmdb
from core import jsontools
from core.item import Item
from platformcode import config, logger
from channelselector import get_thumb
thumbletras = {'#': 'https://s32.postimg.cc/drojt686d/image.png',
'a': 'https://s32.postimg.cc/llp5ekfz9/image.png',
'b': 'https://s32.postimg.cc/y1qgm1yp1/image.png',
'c': 'https://s32.postimg.cc/vlon87gmd/image.png',
'd': 'https://s32.postimg.cc/3zlvnix9h/image.png',
'e': 'https://s32.postimg.cc/bgv32qmsl/image.png',
'f': 'https://s32.postimg.cc/y6u7vq605/image.png',
'g': 'https://s32.postimg.cc/9237ib6jp/image.png',
'h': 'https://s32.postimg.cc/812yt6pk5/image.png',
'i': 'https://s32.postimg.cc/6nbbxvqat/image.png',
'j': 'https://s32.postimg.cc/axpztgvdx/image.png',
'k': 'https://s32.postimg.cc/976yrzdut/image.png',
'l': 'https://s32.postimg.cc/fmal2e9yd/image.png',
'm': 'https://s32.postimg.cc/m19lz2go5/image.png',
'n': 'https://s32.postimg.cc/b2ycgvs2t/image.png',
'o': 'https://s32.postimg.cc/c6igsucpx/image.png',
'p': 'https://s32.postimg.cc/jnro82291/image.png',
'q': 'https://s32.postimg.cc/ve5lpfv1h/image.png',
'r': 'https://s32.postimg.cc/nmovqvqw5/image.png',
's': 'https://s32.postimg.cc/zd2t89jol/image.png',
't': 'https://s32.postimg.cc/wk9lo8jc5/image.png',
'u': 'https://s32.postimg.cc/w8s5bh2w5/image.png',
'v': 'https://s32.postimg.cc/e7dlrey91/image.png',
'w': 'https://s32.postimg.cc/fnp49k15x/image.png',
'x': 'https://s32.postimg.cc/dkep1w1d1/image.png',
'y': 'https://s32.postimg.cc/um7j3zg85/image.png',
'z': 'https://s32.postimg.cc/jb4vfm9d1/image.png'
}
audio = {'Latino': '[COLOR limegreen]LATINO[/COLOR]', 'Español': '[COLOR yellow]ESPAÑOL[/COLOR]',
'Sub Español': '[COLOR red]SUB ESPAÑOL[/COLOR]'}
host = 'http://pelisgratis.me/'
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(item.clone(title="Estrenos",
action="lista",
thumbnail=get_thumb('premieres', auto=True),
url=host + 'estrenos'
))
itemlist.append(item.clone(title="Todas",
action="lista",
thumbnail=get_thumb('all', auto=True),
url=host
))
itemlist.append(item.clone(title="Generos",
action="seccion",
url=host,
thumbnail=get_thumb('genres', auto=True),
extra='generos'
))
itemlist.append(item.clone(title="Alfabetico",
action="seccion",
url=host,
thumbnail=get_thumb('alphabet', auto=True),
extra='a-z'
))
itemlist.append(item.clone(title="Mas Vistas",
action="lista",
thumbnail=get_thumb('more watched', auto=True),
url=host + 'peliculas-mas-vistas'
))
itemlist.append(item.clone(title="Mas Votadas",
action="lista",
thumbnail=get_thumb('more voted', auto=True),
url=host + 'peliculas-mas-votadas'
))
itemlist.append(item.clone(title="Buscar",
action="search",
url=host + '?s=',
thumbnail=get_thumb('search', auto=True)
))
return itemlist
def get_source(url, referer=None):
logger.info()
if referer is None:
data = httptools.downloadpage(url).data
else:
data = httptools.downloadpage(url, headers={'Referer':referer}).data
data = re.sub(r'\n|\r|\t| |
|\s{2,}', "", data)
return data
def lista(item):
logger.info()
itemlist = []
data = get_source(item.url)
patron = 'article id=post-\d+.*?href=([^>]+)>.*?src=(.*?)\s.*?"Title">([^<]+)<(.*?).*?
([^<]+)
' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedthumbnail, scrapedtitle, year_data, scrapedplot in matches: year = scrapertools.find_single_match(year_data, 'Year>(\d{4})<') url = scrapedurl thumbnail = scrapedthumbnail plot = scrapedplot quality = '' contentTitle = scrapedtitle title = contentTitle year = year itemlist.append(item.clone(action='findvideos', title=title, url=url, thumbnail=thumbnail, plot=plot, contentTitle=contentTitle, quality=quality, infoLabels={'year': year} )) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) # Paginacion if itemlist != []: actual_page_url = item.url next_page = scrapertools.find_single_match(data, 'href=([^>]+)>Siguiente »') if next_page != '': itemlist.append(item.clone(action="lista", title='Siguiente >>>', url=next_page, thumbnail='https://s32.postimg.cc/4zppxf5j9/siguiente.png' )) return itemlist def seccion(item): logger.info() itemlist = [] data = get_source(item.url) if item.extra == 'generos': patron = 'menu-item-object-category.*?([^<]+)' elif item.extra == 'a-z': patron = '