([^>]+)
.*?' + patron = '([^<]+)
.*?Fichas:?\s(\d+)' + + matches = re.compile(patron, re.DOTALL).findall(data) + + for url, thumb, title, cant in matches: + plot = 'Contiene %s elementos' % cant + itemlist.append(Item(channel=item.channel, action='list_all', title=title, url=url, thumbnail=thumb, plot=plot)) + + url_next_page = scrapertools.find_single_match(data, 'class="PageActiva">\d+>", url=url_next_page, action='list_collections')) + return itemlist + def seasons(item): logger.info() itemlist=[] data=get_source(item.url) - patron='([^>]+)
" % item.infoLabels['season'] + patron= '([^>]+)
' % item.infoLabels['season'] matches = re.compile(patron, re.DOTALL).findall(data) infoLabels = item.infoLabels @@ -207,31 +230,52 @@ def episodesxseasons(item): return itemlist def findvideos(item): - from lib.generictools import privatedecrypt + logger.info() itemlist = [] data = get_source(item.url) - - patron = "onclick=clickLink\(this, '([^']+)', '([^']+)', '([^']+)'\);>" + data = data.replace('"', "'") + patron = "onclick='clickLink\(this, '([^']+)', '([^']+)', '([^']+)'\);'>.*?([a-zA-Z]+)" matches = re.compile(patron, re.DOTALL).findall(data) headers = {'referer': item.url} - for url, quality, language in matches: + for url, quality, language, server in matches: - url = privatedecrypt(url, headers) if url != '': language = IDIOMAS[language] if quality.lower() == 'premium': quality = '720p' quality = CALIDADES[quality] title = ' [%s] [%s]' % (language, quality) + if 'visor/vdz' in url: + server = 'powvideo' itemlist.append(Item(channel=item.channel, title='%s' + title, url=url, action='play', language=language, - quality=quality, infoLabels=item.infoLabels)) + quality=quality, server=server, headers=headers, infoLabels=item.infoLabels)) itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) return sorted(itemlist, key=lambda i: i.language) +def play(item): + from lib.generictools import privatedecrypt + logger.info() + itemlist = [] + url = '' + item.server = '' + data = httptools.downloadpage(item.url, headers=item.headers, follow_redirects=False) + if 'visor/vdz' in item.url: + url = scrapertools.find_single_match(data.data, 'IFRAME SRC="([^"]+)"') + elif 'visor/if' in item.url: + url = data.headers['location'] + + itemlist.append(Item(channel=item.channel, url=url, action='play', server=item.server, + infoLabels=item.infoLabels)) + + itemlist = servertools.get_servers_itemlist(itemlist) + return itemlist + + + def search(item, texto): logger.info() diff --git a/plugin.video.alfa/channels/inkapelis.py b/plugin.video.alfa/channels/inkapelis.py index 668c9a7e..f967d593 100644 --- a/plugin.video.alfa/channels/inkapelis.py +++ b/plugin.video.alfa/channels/inkapelis.py @@ -292,7 +292,8 @@ def entradas(item): else: # Extrae las entradas if item.extra == "Novedades": - data2 = data.split("Últimas Películas Agregadas
", 1)[1] + data2 = data.split("Últimas Películas Agregadas y Actualizadas
", 1)[1] + entradas = scrapertools.find_multiple_matches(data2, '|\s{2,}', "", data) + return data + + +def list_all(item): + logger.info() + itemlist = [] + + data = get_source(item.url) + patron = '
') + if 'español' in lang_data: + language = 'español' + else: + language = 'VOSE' + url = scrapertools.find_single_match (data, '