# -*- coding: utf-8 -*- import re import urlparse from channels import autoplay from channels import filtertools from core import config from core import httptools from core import logger from core import scrapertools from core import servertools from core import tmdb from core.item import Item host = "http://mundoflv.com" thumbmx = 'http://flags.fmcdn.net/data/flags/normal/mx.png' thumbes = 'http://flags.fmcdn.net/data/flags/normal/es.png' thumben = 'http://flags.fmcdn.net/data/flags/normal/gb.png' thumbsub = 'https://s32.postimg.org/nzstk8z11/sub.png' thumbtodos = 'https://s29.postimg.org/4p8j2pkdj/todos.png' patrones = ['<" \/>', '\/><\/a>([^*]+)

<\/p>.*'] IDIOMAS = {'la': 'Latino', 'es': 'Español', 'sub': 'VOS', 'vosi': 'VOSE', 'en': 'VO' } list_language = IDIOMAS.values() list_quality = [] list_servers = [ 'openload', 'gamovideo', 'powvideo', 'streamplay', 'streamin', 'streame', 'flashx', 'nowvideo' ] list_quality = ['default'] audio = {'la': '[COLOR limegreen]LATINO[/COLOR]', 'es': '[COLOR yellow]ESPAÑOL[/COLOR]', 'sub': '[COLOR orange]ORIGINAL SUBTITULADO[/COLOR]', 'en': '[COLOR red]Original[/COLOR]', 'vosi': '[COLOR red]ORIGINAL SUBTITULADO INGLES[/COLOR]' } headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], ['Referer', host]] def mainlist(item): logger.info() autoplay.init(item.channel, list_servers, list_quality) 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="Alfabetico", action="letras", url=host, thumbnail='https://s17.postimg.org/fwi1y99en/a-z.png', fanart='https://s17.postimg.org/fwi1y99en/a-z.png' )) itemlist.append(Item(channel=item.channel, title="Mas vistas", action="masvistas", url=host, thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png', fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png' )) itemlist.append(Item(channel=item.channel, title="Recomendadas", action="recomendadas", url=host, thumbnail='https://s12.postimg.org/s881laywd/recomendadas.png', fanart='https://s12.postimg.org/s881laywd/recomendadas.png' )) 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="Buscar", action="search", url='http://mundoflv.com/?s=', thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png', fanart='https://s30.postimg.org/pei7txpa9/buscar.png' )) if autoplay.context: autoplay.show_option(item.channel, itemlist) return itemlist def todas(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) patron = 'class="item">

  • .*?' patron += 'div class="im">.*?' patron += '(.*?)(?:\|.*?|\(.*?|- )(\d{4})|-' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle, scrapedyear in matches: url = scrapedurl title = scrapedtitle fanart = item.fanart contentSerieName = scrapedtitle year = scrapedyear thumbnail = '' plot = 'nada' itemlist.append( Item(channel=item.channel, action="temporadas", title=title, url=url, thumbnail=thumbnail, plot=plot, fanart=fanart, contentSerieName=contentSerieName, infoLabels={'year': year}, context=autoplay.context )) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) itemlist = fail_tmdb(itemlist) return itemlist def recomendadas(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data realplot = '' patron = '
  • <.*?>Ver ([^<]+)<\/A><\/li>' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: url = urlparse.urljoin(item.url, scrapedurl) data = httptools.downloadpage(scrapedurl).data thumbnail = scrapertools.get_match(data, '') realplot = scrapertools.find_single_match(data, '\/><\/a>([^*]+)

    <\/p>.*') plot = scrapertools.remove_htmltags(realplot) title = scrapedtitle.replace('online', '') title = scrapertools.decodeHtmlentities(title) fanart = item.fanart itemlist.append( Item(channel=item.channel, action="temporadas", title=title, url=url, thumbnail=thumbnail, plot=plot, fanart=fanart, contentSerieName=title, context=autoplay.context )) return itemlist def ultimas(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data realplot = '' patron = '

  • <.*?>Ver ([^<]+)<\/A><\/li>' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: url = urlparse.urljoin(item.url, scrapedurl) data = httptools.downloadpage(scrapedurl).data thumbnail = scrapertools.get_match(data, '') realplot = scrapertools.find_single_match(data, '\/><\/a>([^*]+)

    <\/p>.*') plot = scrapertools.remove_htmltags(realplot) plot = "" title = scrapedtitle.replace('online', '') title = scrapertools.decodeHtmlentities(title) fanart = item.fanart itemlist.append( Item(channel=item.channel, action="idioma", title=title, url=url, thumbnail=thumbnail, plot=plot, fanart=fanart, contentSerieName=title, context=autoplay.context )) return itemlist def temporadas(item): logger.info() itemlist = [] templist = [] data = httptools.downloadpage(item.url).data realplot = '' patron = "" matches = re.compile(patron, re.DOTALL).findall(data) serieid = scrapertools.find_single_match(data, 'data-nonce="(.*?)"') item.thumbnail = item.thumbvid infoLabels = item.infoLabels for scrapedtitle in matches: url = 'http://mundoflv.com/wp-content/themes/wpRafael/includes/capitulos.php?serie=' + serieid + \ '&temporada=' + scrapedtitle title = 'Temporada ' + scrapertools.decodeHtmlentities(scrapedtitle) contentSeasonNumber = scrapedtitle thumbnail = item.thumbnail realplot = scrapertools.find_single_match(data, '\/><\/a>([^*]+)

    <\/p>.*') plot = '' fanart = '' itemlist.append( Item(channel=item.channel, action="episodiosxtemp", title=title, fulltitle=item.title, url=url, thumbnail=thumbnail, plot=plot, fanart=fanart, extra1=item.extra1, contentSerieName=item.contentSerieName, contentSeasonNumber=contentSeasonNumber, infoLabels={'season': contentSeasonNumber}, context=item.context )) 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, extra1=item.extra1 )) return itemlist def episodios(item): logger.info() itemlist = [] templist = temporadas(item) for tempitem in templist: itemlist += episodiosxtemp(tempitem) return itemlist def episodiosxtemp(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data patron = "