From 024f6308c4c0006285532d85b4e61a06732a9849 Mon Sep 17 00:00:00 2001 From: DiegoT Date: Thu, 18 Oct 2018 20:23:43 +0000 Subject: [PATCH] =?UTF-8?q?Asianliveaction:=20correcion=20del=20listado=20?= =?UTF-8?q?de=20peliculas,=20series,=20por=20genero,=20por=20calidad,=20po?= =?UTF-8?q?r=20orden=20alfabetico=20y=20por=20a=C3=B1o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.video.alfa/channels/asialiveaction.py | 53 +++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/plugin.video.alfa/channels/asialiveaction.py b/plugin.video.alfa/channels/asialiveaction.py index b5ee5c26..60a79b4e 100644 --- a/plugin.video.alfa/channels/asialiveaction.py +++ b/plugin.video.alfa/channels/asialiveaction.py @@ -49,7 +49,7 @@ def category(item): data = scrapertools.find_single_match(data, 'Año.*?') elif item.cat == 'quality': data = scrapertools.find_single_match(data, 'Calidad.*?') - patron = "
  • ([^<]+)" + patron = "([^<]+)" matches = re.compile(patron, re.DOTALL).findall(data) for scrapedtitle, scrapedurl in matches: if scrapedtitle != 'Próximas Películas': @@ -82,8 +82,10 @@ def search_results(item): def search(item, texto): logger.info() + texto = texto.replace(" ", "+") item.url = item.url + texto + if texto != '': return search_results(item) @@ -113,40 +115,67 @@ def lista(item): logger.info() next = True itemlist = [] + data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) + + css_data = scrapertools.find_single_match(data, "") + data = scrapertools.find_single_match(data, "itemprop='headline'>.*?.*?") - patron = '.*?
    (\d{4})
    ' - patron += '
    (.*?)
    ([^<]+)
    ' + + patron = '.*?
    (.*?)' + patron += '(.*?)
    ([^<]+)
    ' matches = scrapertools.find_multiple_matches(data, patron) + first = int(item.first) last = first + 19 if last > len(matches): last = len(matches) next = False - for scrapedtype, scrapedyear, scrapedthumbnail, scrapedquality, scrapedtitle ,scrapedurl in matches[first:last]: - patron_quality="(.+?)" - quality = scrapertools.find_multiple_matches(scrapedquality, patron_quality) - qual="" - for calidad in quality: - qual=qual+"["+calidad+"] " - title="%s [%s] %s" % (scrapedtitle,scrapedyear,qual) - new_item= Item(channel=item.channel, title=title, url=host+scrapedurl, thumbnail=scrapedthumbnail, - type=scrapedtype, infoLabels={'year':scrapedyear}) + + for scrapedtype, scrapedyear, scrapedthumbnail, scrapedquality, scrapedtitle, scrapedurl in matches[first:last]: + year = scrapertools.find_single_match(scrapedyear, '(\d{4})') + + if not year: + class_year = scrapertools.find_single_match(scrapedyear, 'class="([^\"]+)"') + year = scrapertools.find_single_match(css_data, "\." + class_year + ":after {content:'(\d{4})';}") + if not year: + year = scrapertools.find_single_match(data, "headline'>(\d{4})") + + qual = "" + if scrapedquality: + patron_qualities='' + qualities = scrapertools.find_multiple_matches(scrapedquality, patron_qualities) + + for quality in qualities: + patron_desc = "\." + quality + ":after {content:'([^\']+)';}" + quality_desc = scrapertools.find_single_match(css_data, patron_desc) + + qual = qual+ "[" + quality_desc + "] " + + title="%s [%s] %s" % (scrapedtitle,year,qual) + + new_item = Item(channel=item.channel, title=title, url=host+scrapedurl, thumbnail=scrapedthumbnail, + type=scrapedtype, infoLabels={'year':year}) + if scrapedtype.strip() == 'sr': new_item.contentSerieName = scrapedtitle new_item.action = 'episodios' else: new_item.contentTitle = scrapedtitle new_item.action = 'findvideos' + if scrapedtype == item.type or item.type == 'cat': itemlist.append(new_item) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + #pagination url_next_page = item.url first = last if next: itemlist.append(item.clone(title="Siguiente >>", url=url_next_page, action='lista', first=first)) + return itemlist