From 86e85362c811efd83dcf00a8d716ca1026e7cd0a Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 8 Aug 2018 15:41:07 -0300 Subject: [PATCH 1/3] correcciones e info para los canales --- .../channels/asialiveaction.json | 3 +- plugin.video.alfa/channels/asialiveaction.py | 265 ++++++++++-------- plugin.video.alfa/channels/locopelis.py | 63 ++--- plugin.video.alfa/channels/pelisr.py | 35 ++- plugin.video.alfa/channels/serieslan.py | 121 ++++---- plugin.video.alfa/channels/vepelis.py | 63 +++-- plugin.video.alfa/channelselector.py | 41 ++- 7 files changed, 344 insertions(+), 247 deletions(-) mode change 100755 => 100644 plugin.video.alfa/channels/vepelis.py diff --git a/plugin.video.alfa/channels/asialiveaction.json b/plugin.video.alfa/channels/asialiveaction.json index 051d2359..23ed268c 100644 --- a/plugin.video.alfa/channels/asialiveaction.json +++ b/plugin.video.alfa/channels/asialiveaction.json @@ -8,6 +8,7 @@ "banner": "https://imgur.com/B1IOAu4.png", "categories": [ "movie", - "tvshow" + "tvshow", + "vos" ] } diff --git a/plugin.video.alfa/channels/asialiveaction.py b/plugin.video.alfa/channels/asialiveaction.py index 1913d9ed..e995972f 100644 --- a/plugin.video.alfa/channels/asialiveaction.py +++ b/plugin.video.alfa/channels/asialiveaction.py @@ -6,6 +6,7 @@ import urlparse from core import httptools from core import scrapertools from core import servertools +from core import tmdb from core.item import Item from platformcode import config, logger @@ -17,15 +18,21 @@ def mainlist(item): itemlist = list() - itemlist.append(Item(channel=item.channel, action="estrenos", title="Estrenos", url=host)) itemlist.append(Item(channel=item.channel, action="lista", title="Peliculas", - url=urlparse.urljoin(host, "p/peliculas.html"))) + url=urlparse.urljoin(host, "p/peliculas.html"), type='pl', first=0)) + itemlist.append(Item(channel=item.channel, action="lista", title="Series", - url=urlparse.urljoin(host, "p/series.html"))) - itemlist.append(Item(channel=item.channel, action="category", title="Orden Alfabético", url=host)) - itemlist.append(Item(channel=item.channel, action="category", title="Géneros", url=host)) - itemlist.append(Item(channel=item.channel, action="category", title="Año de Estreno", url=host)) - #itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url=urlparse.urljoin(host, "/search?q="))) + url=urlparse.urljoin(host, "p/series.html"), type='sr', first=0)) + + itemlist.append(Item(channel=item.channel, action="category", title="Géneros", url=host, cat='genre')) + + itemlist.append(Item(channel=item.channel, action="category", title="Calidad", url=host, cat='quality')) + + itemlist.append(Item(channel=item.channel, action="category", title="Orden Alfabético", url=host, cat='abc')) + + itemlist.append(Item(channel=item.channel, action="category", title="Año de Estreno", url=host, cat='year')) + + itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url=host+"/search?q=")) return itemlist @@ -34,155 +41,175 @@ def category(item): itemlist = list() data = httptools.downloadpage(host).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - patron_generos = "

"+item.title+"<\/h2>
') + elif item.cat == 'genre': + data = scrapertools.find_single_match(data, 'Géneros.*?') + elif item.cat == 'year': + data = scrapertools.find_single_match(data, 'Año.*?') + elif item.cat == 'quality': + data = scrapertools.find_single_match(data, 'Calidad.*?') + + patron = "
  • ([^<]+)" + + matches = re.compile(patron, re.DOTALL).findall(data) + for scrapedtitle, scrapedurl in matches: if scrapedtitle != 'Próximas Películas': - itemlist.append(item.clone(action='lista', title=scrapedtitle, url=host+scrapedurl)) + itemlist.append(item.clone(action='lista', title=scrapedtitle, url=host+scrapedurl, type='cat', first=0)) + return itemlist +def search_results(item): + logger.info() + itemlist = [] + + data = httptools.downloadpage(item.url).data + data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) + + patron = '([^<]+).*?class="poster-bg" src="([^"]+)"/>.*?

    .*?' + patron +=">(\d{4}).*?

    ([^<]+) 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", show=item.show)) + 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)) return itemlist -def bitly(item): - logger.info() - itemlist = list() - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - patron = '.*?
    .*?") + + patron = '.*?
    (\d{4})
    ' + patron += '
    (.*?)
    ([^<]+)
    ' + matches = scrapertools.find_multiple_matches(data, patron) - for scrapedtype,scrapedquality,scrapedthumbnail,scrapedtitle,scrapedyear,scrapedurl in matches: + + 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) - if item.title =="Series": - itemlist.append(item.clone(title=title, url=host+scrapedurl, extra=scrapedtitle, plot=scrapedtitle, - show=scrapedtitle, thumbnail=scrapedthumbnail, contentType="serie", action="capitulos")) - elif scrapedtype != 'serie': - itemlist.append( - item.clone(title=title, url=host+scrapedurl, action="findvideos", extra=scrapedtype, plot=scrapedtitle, - show=scrapedtitle, thumbnail=scrapedthumbnail, contentType="movie", context=["buscar_trailer"])) + new_item= Item(channel=item.channel, title=title, url=host+scrapedurl, thumbnail=scrapedthumbnail, + type=scrapedtype, infoLabels={'year':scrapedyear}) + if scrapedtype.strip() == 'sr': + new_item.contentSerieName = scrapedtitle + new_item.action = 'episodios' + else: + new_item.contentTitle = scrapedtitle + new_item.action = 'findvideos' - # Paginacion - patron_genero = '

    ([^"]+)<\/h1>' - genero = scrapertools.find_single_match(data, patron_genero) - if genero == "Romance" or genero == "Drama": - patron = "') + g_url = '%s%s' % ('https://drive.google.com', video_id) + g_url = g_url.replace('&', '&') + g_data = httptools.downloadpage(g_url, follow_redirects=False, only_headers=True).headers + url = g_data['location'] + dl_links.append(Item(channel=item.channel, title='%s', url=url, action='play', infoLabels=item.infoLabels)) + + if item.type == 'pl': + new_url = scrapertools.find_single_match(data, '
    .*?", "", data) - data = data.decode('cp1252') realplot = '' - patron = '.*?<\/a>' + patron = ' ", "", data) - data = data.decode('cp1252') - data = scrapertools.find_single_match(data, '<\/form><\/table><\/div>.*?<\/ul>') - - patron = '
  • (.*?)<\/a><\/li>' + patron = '
  • ([^<]+)<\/a><\/li>' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: @@ -356,36 +351,40 @@ def findvideos(item): logger.info() itemlist = [] - new_url = get_link(get_source(item.url)) - new_url = get_link(get_source(new_url)) - video_id = scrapertools.find_single_match(new_url, 'http.*?h=(\w+)') - new_url = '%s%s' % (host, 'playeropstream/api.php') - post = {'h': video_id} - post = urllib.urlencode(post) - data = httptools.downloadpage(new_url, post=post).data - json_data = jsontools.load(data) - url = json_data['url'] - server = servertools.get_server_from_url(url) - title = '%s [%s]' % (server, item.language) - itemlist.append(Item(channel=item.channel, title=title, url=url, action='play', language=item.language, - server=server, infoLabels=item.infoLabels)) + try: + new_url = get_link(get_source(item.url)) + new_url = get_link(get_source(new_url)) + video_id = scrapertools.find_single_match(new_url, 'http.*?h=(\w+)') + new_url = '%s%s' % (host, 'playeropstream/api.php') + post = {'h': video_id} + post = urllib.urlencode(post) + data = httptools.downloadpage(new_url, post=post).data + json_data = jsontools.load(data) + url = json_data['url'] + server = servertools.get_server_from_url(url) + title = '%s [%s]' % (server, item.language) + itemlist.append(Item(channel=item.channel, title=title, url=url, action='play', language=item.language, + server=server, infoLabels=item.infoLabels)) - # Requerido para FilterTools + # Requerido para FilterTools - itemlist = filtertools.get_links(itemlist, item, list_language) + itemlist = filtertools.get_links(itemlist, item, list_language) - # Requerido para AutoPlay + # Requerido para AutoPlay - autoplay.start(itemlist, item) + autoplay.start(itemlist, item) + + if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': + itemlist.append(Item(channel=item.channel, + title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', + url=item.url, + action="add_pelicula_to_library", + extra="findvideos", + contentTitle=item.contentTitle + )) + except: + pass - if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': - itemlist.append(Item(channel=item.channel, - title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', - url=item.url, - action="add_pelicula_to_library", - extra="findvideos", - contentTitle=item.contentTitle - )) return itemlist diff --git a/plugin.video.alfa/channels/pelisr.py b/plugin.video.alfa/channels/pelisr.py index c7679eb0..cdcdacb3 100644 --- a/plugin.video.alfa/channels/pelisr.py +++ b/plugin.video.alfa/channels/pelisr.py @@ -72,7 +72,7 @@ def menu_movies(item): def get_source(url): logger.info() data = httptools.downloadpage(url).data - data = re.sub(r'"|\n|\r|\t| |
    |\s{2,}', "", data) + data = re.sub(r'\n|\r|\t| |
    |\s{2,}', "", data) return data @@ -93,9 +93,9 @@ def section(item): duplicados=[] data = get_source(host+'/'+item.type) if 'Genero' in item.title: - patron = '
  • (.*?)/i>' + patron = '
  • (.*?) (.*?)<') - title = scrapertools.find_single_match(scrapedtitle,'(.*?) ([^<]+)<') + title = scrapertools.find_single_match(scrapedtitle,'([^<]+)
  • .*?([^<]+)
    (.*?).*?' - patron += '.*?<\/h3>(.*?)<\/span><\/div>' + patron = '