# -*- coding: utf-8 -*-
import re
import urlparse
from core import httptools
from core import scrapertools
from core import tmdb
from core.item import Item
from platformcode import config, logger
host = 'http://www.qserie.com'
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, title="Series", action="todas", url=host,
thumbnail='https://s27.postimg.org/iahczwgrn/series.png',
fanart='https://s27.postimg.org/iahczwgrn/series.png'))
itemlist.append(Item(channel=item.channel, title="Generos", action="generos", url=host,
thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png',
fanart='https://s3.postimg.org/5s9jg2wtf/generos.png'))
itemlist.append(Item(channel=item.channel, title="Alfabetico", action="lasmas", url=host,
thumbnail='https://s17.postimg.org/fwi1y99en/a-z.png',
fanart='https://s17.postimg.org/fwi1y99en/a-z.png', extra='letras'))
itemlist.append(Item(channel=item.channel, title="Ultimas Agregadas", action="ultimas", url=host,
thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png',
fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png'))
itemlist.append(Item(channel=item.channel, title="Mas Vistas", action="lasmas", url=host,
thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png',
fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png', extra='Vista'))
itemlist.append(Item(channel=item.channel, title="Mas Votadas", action="lasmas", url=host,
thumbnail='https://s7.postimg.org/9kg1nthzf/votadas.png',
fanart='https://s7.postimg.org/9kg1nthzf/votadas.png', extra='Votos'))
return itemlist
def todas(item):
logger.info()
audio = {'Latino': '[COLOR limegreen]LATINO[/COLOR]', 'Español': '[COLOR yellow]ESPAÑOL[/COLOR]',
'Sub Español': '[COLOR red]ORIGINAL SUBTITULADO[/COLOR]'}
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t| |
", "", data)
patron = '
([^<]+)<\/p>.*?Genero<\/strong>: .*?, (.*?)<\/div>.*? ([^<]+)<\/p> ')
plot = scrapertools.remove_htmltags(realplot)
inutil = re.findall(r' Temporada \d', scrapedtitle)
title = scrapedtitle
title = scrapertools.decodeHtmlentities(title)
realtitle = scrapedtitle.replace(inutil[0], '')
fanart = 'https://s22.postimg.org/cb7nmhwv5/ultimas.png'
itemlist.append(
Item(channel=item.channel, action="temporadas", title=title, url=url, thumbnail=thumbnail, plot=plot,
fanart=fanart, contentSerieName=realtitle))
return itemlist
def lasmas(item):
thumbletras = {'0-9': 'https://s32.postimg.org/drojt686d/image.png',
'0 - 9': 'https://s32.postimg.org/drojt686d/image.png',
'#': 'https://s32.postimg.org/drojt686d/image.png',
'a': 'https://s32.postimg.org/llp5ekfz9/image.png',
'b': 'https://s32.postimg.org/y1qgm1yp1/image.png',
'c': 'https://s32.postimg.org/vlon87gmd/image.png',
'd': 'https://s32.postimg.org/3zlvnix9h/image.png',
'e': 'https://s32.postimg.org/bgv32qmsl/image.png',
'f': 'https://s32.postimg.org/y6u7vq605/image.png',
'g': 'https://s32.postimg.org/9237ib6jp/image.png',
'h': 'https://s32.postimg.org/812yt6pk5/image.png',
'i': 'https://s32.postimg.org/6nbbxvqat/image.png',
'j': 'https://s32.postimg.org/axpztgvdx/image.png',
'k': 'https://s32.postimg.org/976yrzdut/image.png',
'l': 'https://s32.postimg.org/fmal2e9yd/image.png',
'm': 'https://s32.postimg.org/m19lz2go5/image.png',
'n': 'https://s32.postimg.org/b2ycgvs2t/image.png',
'o': 'https://s32.postimg.org/c6igsucpx/image.png',
'p': 'https://s32.postimg.org/jnro82291/image.png',
'q': 'https://s32.postimg.org/ve5lpfv1h/image.png',
'r': 'https://s32.postimg.org/nmovqvqw5/image.png',
's': 'https://s32.postimg.org/zd2t89jol/image.png',
't': 'https://s32.postimg.org/wk9lo8jc5/image.png',
'u': 'https://s32.postimg.org/w8s5bh2w5/image.png',
'v': 'https://s32.postimg.org/e7dlrey91/image.png',
'w': 'https://s32.postimg.org/fnp49k15x/image.png',
'x': 'https://s32.postimg.org/dkep1w1d1/image.png',
'y': 'https://s32.postimg.org/um7j3zg85/image.png',
'z': 'https://s32.postimg.org/jb4vfm9d1/image.png'}
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
realplot = ''
if item.extra == 'letras':
patron = ' ([^<]+)<\/p> ')
plot = scrapertools.remove_htmltags(realplot)
action = 'temporadas'
else:
if scrapedtitle.lower() in thumbletras:
thumbnail = thumbletras[scrapedtitle.lower()]
else:
thumbnail = ''
plot = ''
action = 'todas'
title = scrapedtitle.replace(': ', '')
title = scrapertools.decodeHtmlentities(title)
if item.extra == 'letras':
fanart = 'https://s17.postimg.org/fwi1y99en/a-z.png'
elif item.extra == 'Vista':
fanart = 'https://s9.postimg.org/wmhzu9d7z/vistas.png'
else:
fanart = ''
itemlist.append(Item(channel=item.channel, action=action, title=title, url=url, thumbnail=thumbnail, plot=plot,
fanart=fanart, contentSerieName=scrapedtitle))
return itemlist
def findvideos(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
anterior = scrapertools.find_single_match(data, '')
siguiente = scrapertools.find_single_match(data, '')
titulo = scrapertools.find_single_match(data,
'([^<]+)<\/div>'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedtitle, scrapedthumbnail, scrapedplot, scrapedyear, scrapedidioma in matches:
idioma = scrapedidioma.strip()
idioma = scrapertools.decodeHtmlentities(idioma)
url = urlparse.urljoin(item.url, scrapedurl)
year = scrapedyear
title = scrapertools.decodeHtmlentities(scrapedtitle)
thumbnail = scrapedthumbnail
plot = scrapedplot
fanart = 'https://s31.postimg.org/dousrbu9n/qserie.png'
itemlist.append(
Item(channel=item.channel, action="temporadas", title=title, url=url, thumbnail=thumbnail, plot=plot,
fanart=fanart, extra=idioma, contentSerieName=scrapedtitle, infoLabels={'year': year},
language=idioma))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
# Paginacion
siguiente = ''
title = ''
actual = scrapertools.find_single_match(data, '
.*?')
itemlist.append(
Item(channel=item.channel, action="episodiosxtemp", title=title, fulltitle=item.title, url=url,
thumbnail=thumbnail, plot=plot, fanart=fanart, contentSeasonNumber=contentSeasonNumber,
contentSerieName=item.contentSerieName, infoLabels=infoLabels))
temp = temp + 1
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))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
return itemlist
else:
item.title = ''
item.modo = 'unico'
return episodiosxtemp(item)
def episodios(item):
logger.info()
itemlist = []
templist = temporadas(item)
if item.modo == 'unico':
itemlist += episodiosxtemp(item)
else:
for tempitem in templist:
itemlist += episodiosxtemp(tempitem)
return itemlist
def episodiosxtemp(item):
logger.info()
itemlist = []
data = httptools.downloadpage(item.url).data
infoLabels = item.infoLabels
temp = item.contentSeasonNumber
if item.title == '':
temp = '1'
item.contenSeasonNumber = temp
infoLabels['season'] = temp
patron = '
([^<]+)
')
existe = scrapertools.find_single_match(data, '