diff --git a/plugin.video.alfa/channels/clasicofilm.py b/plugin.video.alfa/channels/clasicofilm.py index a8ae7916..c3efc2fe 100755 --- a/plugin.video.alfa/channels/clasicofilm.py +++ b/plugin.video.alfa/channels/clasicofilm.py @@ -58,13 +58,9 @@ def configuracion(item): def search(item, texto): logger.info() - data = httptools.downloadpage(host).data - cx = scrapertools.find_single_match(data, "var cx = '([^']+)'") texto = texto.replace(" ", "%20") - item.url = "https://www.googleapis.com/customsearch/v1element?key=AIzaSyCVAXiUzRYsML1Pv6RwSG1gunmMikTzQqY&rsz=filtered_cse&num=20&hl=es&sig=0c3990ce7a056ed50667fe0c3873c9b6&cx=%s&q=%s&sort=&googlehost=www.google.com&start=0" % ( - cx, texto) - + item.url = host + "search?q=%s" % texto try: return busqueda(item) # Se captura la excepción, para no interrumpir al buscador global si un canal falla @@ -135,7 +131,6 @@ def peliculas(item): tmdb.set_infoLabels(itemlist, __modo_grafico__) except: pass - actualpage = int(scrapertools.find_single_match(item.url, 'start-index=(\d+)')) totalresults = int(data["openSearch$totalResults"]["$t"]) if actualpage + 20 < totalresults: @@ -148,47 +143,22 @@ def peliculas(item): def busqueda(item): logger.info() itemlist = [] - item.text_color = color2 - - # Descarga la página data = httptools.downloadpage(item.url).data - - data = jsontools.load(data) - - for entry in data["results"]: - try: - title = entry["richSnippet"]["metatags"]["ogTitle"] - url = entry["richSnippet"]["metatags"]["ogUrl"] - thumbnail = entry["richSnippet"]["metatags"]["ogImage"] - except: - continue - - try: - title_split = re.split(r"\s*\((\d)", title, 1) - year = title_split[1] + scrapertools.find_single_match(title_split[2], '(\d{3})\)') - fulltitle = title_split[0] - except: - fulltitle = title - year = "" - if not "DVD" in title and not "HDTV" in title and not "HD-" in title: - continue - infolabels = {'year': year} - new_item = item.clone(action="findvideos", title=title, fulltitle=fulltitle, - url=url, thumbnail=thumbnail, infoLabels=infolabels, - contentTitle=fulltitle, contentType="movie") - itemlist.append(new_item) - - try: - tmdb.set_infoLabels(itemlist, __modo_grafico__) - except: - pass - - actualpage = int(scrapertools.find_single_match(item.url, 'start=(\d+)')) - totalresults = int(data["cursor"]["resultCount"]) - if actualpage + 20 <= totalresults: - url_next = item.url.replace("start=" + str(actualpage), "start=" + str(actualpage + 20)) - itemlist.append(Item(channel=item.channel, action="busqueda", title=">> Página Siguiente", url=url_next)) - + patron = """post-title entry-titl.*?href='([^']+)'""" + patron += """>([^<]+).*?""" + patron += """src="([^"]+)""" + matches = scrapertools.find_multiple_matches(data, patron) + for scrapedurl, scrapedtitle, scrapedthumbnail in matches: + year = scrapertools.find_single_match(scrapedtitle, "\(([0-9]{4})\)") + ctitle = scrapedtitle.split("(")[0].strip() + itemlist.append(item.clone(action = "findvideos", + contentTitle = ctitle, + infoLabels = {"year" : year}, + thumbnail = scrapedthumbnail, + title = scrapedtitle, + url = scrapedurl + )) + tmdb.set_infoLabels(itemlist, __modo_grafico__) return itemlist