diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index 0ca720af..35fd5c2c 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@  - + @@ -19,11 +19,17 @@ [B]Estos son los cambios para esta versión:[/B] [COLOR green][B]Canales agregados y arreglos[/B][/COLOR] - » playmax » allcalidad - » cinetux » allpeliculas - » pedropolis » pelisplanet - » flashx » gvideo - ¤ selector de temas ¤ arreglos internos + » animeflv_me » gmobi + » hdfull » peliculasrey + » peliscity » pelisplanet + » bitp » cloudy + » canalpelis » cinefox + » cinefoxtv » gnula + » pedropolis » pelisfox + » gamovideo » rapidgator + » streamplay » yourupload + » cloudsany ¤ arreglos internos + Navega con Kodi por páginas web para ver sus videos de manera fácil. Browse web pages using Kodi diff --git a/plugin.video.alfa/channels/animeflv_me.py b/plugin.video.alfa/channels/animeflv_me.py index 71b18b3b..b73b174f 100755 --- a/plugin.video.alfa/channels/animeflv_me.py +++ b/plugin.video.alfa/channels/animeflv_me.py @@ -21,12 +21,12 @@ CHANNEL_DEFAULT_HEADERS = [ REGEX_NEXT_PAGE = r"class='current'>\d+?
  • )(.+?)(?:)' -REGEX_THUMB = r'src="(http://media.animeflv\.me/uploads/thumbs/[^"]+?)"' +REGEX_THUMB = r'src="(http://media.animeflv\.co/uploads/thumbs/[^"]+?)"' REGEX_PLOT = r'Línea de historia:

    (.*?)' -REGEX_URL = r'href="(http://animeflv\.me/Anime/[^"]+)">' +REGEX_URL = r'href="(http://animeflv\.co/Anime/[^"]+)">' REGEX_SERIE = r'%s.+?%s([^<]+?)

    (.+?)

    ' % (REGEX_THUMB, REGEX_URL) -REGEX_EPISODE = r'href="(http://animeflv\.me/Ver/[^"]+?)">(?:)?(.+?)(\d+/\d+/\d+)' -REGEX_GENERO = r'([^<]+)' +REGEX_EPISODE = r'href="(http://animeflv\.co/Ver/[^"]+?)">(?:)?(.+?)(\d+/\d+/\d+)' +REGEX_GENERO = r'([^<]+)' def get_url_contents(url): @@ -309,7 +309,7 @@ def findvideos(item): itemlist = [] page_html = get_url_contents(item.url) - regex_api = r'http://player\.animeflv\.me/[^\"]+' + regex_api = r'http://player\.animeflv\.co/[^\"]+' iframe_url = scrapertools.find_single_match(page_html, regex_api) iframe_html = get_url_contents(iframe_url) diff --git a/plugin.video.alfa/channels/canalpelis.py b/plugin.video.alfa/channels/canalpelis.py index 15fce9a1..cb719be4 100644 --- a/plugin.video.alfa/channels/canalpelis.py +++ b/plugin.video.alfa/channels/canalpelis.py @@ -127,7 +127,6 @@ def peliculas(item): data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\(.*?\)|\s{2}| ", "", data) - logger.info(data) patron = '
    ([^.*?' # img, title.strip() patron += '(.*?)/div>.*?' # rating @@ -144,14 +143,17 @@ def peliculas(item): contentTitle = scrapedtitle.partition(':')[0].partition(',')[0] title = "%s [COLOR green][%s][/COLOR] [COLOR yellow][%s][/COLOR]" % ( scrapedtitle, year, quality) + thumb_id = scrapertools.find_single_match(scrapedthumbnail, '.*?\/uploads\/(.*?)-') + thumbnail = "/%s.jpg" % thumb_id + filtro_list = {"poster_path": thumbnail} + filtro_list = filtro_list.items() itemlist.append(item.clone(channel=__channel__, action="findvideos", text_color=color3, - url=scrapedurl, infoLabels={'year': year, 'rating': rating}, - contentTitle=contentTitle, thumbnail=scrapedthumbnail, + url=scrapedurl, infoLabels={'filtro':filtro_list}, + contentTitle=contentTitle, thumbnail=thumbnail, title=title, context="buscar_trailer", quality = quality)) - tmdb.set_infoLabels(itemlist, __modo_grafico__) - tmdb.set_infoLabels(itemlist, __modo_grafico__) + tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__) if item.page + 20 < len(matches): itemlist.append(item.clone(page=item.page + 20, diff --git a/plugin.video.alfa/channels/cinefox.py b/plugin.video.alfa/channels/cinefox.py index 1697e42b..4fd1983b 100644 --- a/plugin.video.alfa/channels/cinefox.py +++ b/plugin.video.alfa/channels/cinefox.py @@ -689,7 +689,7 @@ def get_enlaces(item, url, type): if servertools.is_server_enabled(server): scrapedtitle = " Ver en " + server.capitalize() + " [" + idioma + "/" + calidad + "]" itemlist.append(item.clone(action="play", url=scrapedurl, title=scrapedtitle, text_color=color2, - extra="", server=server)) + extra="", server=server, language=idioma)) if len(itemlist) == 1: itemlist.append(item.clone(title=" No hay enlaces disponibles", action="", text_color=color2)) diff --git a/plugin.video.alfa/channels/cinefoxtv.py b/plugin.video.alfa/channels/cinefoxtv.py index a3adf5f9..5a33d19a 100644 --- a/plugin.video.alfa/channels/cinefoxtv.py +++ b/plugin.video.alfa/channels/cinefoxtv.py @@ -169,6 +169,7 @@ def findvideos(item): videoitem.plot = info videoitem.action = "play" videoitem.folder = False + videoitem.infoLabels=item.infoLabels if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': itemlist.append( diff --git a/plugin.video.alfa/channels/gmobi.py b/plugin.video.alfa/channels/gmobi.py index b768f4af..ebe6145e 100644 --- a/plugin.video.alfa/channels/gmobi.py +++ b/plugin.video.alfa/channels/gmobi.py @@ -3,24 +3,21 @@ # Alfa # ------------------------------------------------------------ -import urlparse,urllib2,urllib,re -import os, sys +import re from core import httptools -from core import tmdb -from core import jsontools as json from core import scrapertools from core import servertools +from core import tmdb from core.item import Item -from platformcode import config, logger - +from platformcode import logger def mainlist(item): logger.info() - itemlist = [] + itemlist = list() itemlist.append(item.clone(title="Novedades", action="peliculas", url="http://gnula.mobi/")) itemlist.append(item.clone(title="Castellano", action="peliculas", - url="http://www.gnula.mobi/tag/esp)anol/")) + url="http://www.gnula.mobi/tag/espanol/")) itemlist.append(item.clone(title="Latino", action="peliculas", url="http://gnula.mobi/tag/latino/")) itemlist.append(item.clone(title="VOSE", action="peliculas", url="http://gnula.mobi/tag/subtitulada/")) @@ -53,43 +50,66 @@ def sub_search(item): patron = '
    .*?.*?') if paginacion: - itemlist.append(channel=item.channel, action="sub_search", title="Next page >>" , url=paginacion) + itemlist.append(Item(channel=item.channel, action="sub_search", title="Next page >>", url=paginacion)) return itemlist + def peliculas(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t| |
    ", "", data) - patron = '
    .*?href="(.*?)" title="(.*?)".*?under-title">(.*?)<.*?src="(.*?)"' - matches = re.compile(patron,re.DOTALL).findall(data) - + patron = '
    .*?href="(.*?)" title="(.*?)".*?under-title">(.*?)<.*?src="(.*?)"' + matches = scrapertools.find_multiple_matches(data, patron) for scrapedurl, scrapedyear, scrapedtitle, scrapedthumbnail in matches: - - url = scrapedurl - title = scrapedtitle year = scrapertools.find_single_match(scrapedyear, r'.*?\((\d{4})\)') - thumbnail = scrapedthumbnail - new_item =Item (channel = item.channel, action="findvideos", title=title, contentTitle=title, url=url, - thumbnail=thumbnail, infoLabels = {'year':year}) - if year: - tmdb.set_infoLabels_item(new_item) + itemlist.append(Item(channel=item.channel, action="findvideos", title=scrapedtitle, fulltitle = scrapedtitle, url=scrapedurl, + thumbnail=scrapedthumbnail, infoLabels={'year': year})) - itemlist.append(new_item) - - next_page_url = scrapertools.find_single_match(data,'') - if next_page_url!="": - next_page_url = urlparse.urljoin(item.url,next_page_url) + tmdb.set_infoLabels(itemlist, True) + next_page_url = scrapertools.find_single_match(data, '> Añadir a la videoteca..." - try: - itemlist.extend(file_cine_library(item, url_targets)) - except: - pass + if config.get_videolibrary_support(): + itemlist.append(Item(channel=item.channel, title="Añadir a la videoteca", text_color="green", + action="add_pelicula_to_library", url=url_targets, thumbnail = item.thumbnail, + fulltitle = item.contentTitle + )) return itemlist -def trailer(item): - import youtube - itemlist = [] - item.url = "https://www.googleapis.com/youtube/v3/search" + \ - "?q=" + item.show.replace(" ", "+") + "+trailer+HD+Español" \ - "®ionCode=ES" + \ - "&part=snippet" + \ - "&hl=es_ES" + \ - "&key=AIzaSyAd-YEOqZz9nXVzGtn3KWzYLbLaajhqIDA" + \ - "&type=video" + \ - "&maxResults=50" + \ - "&pageToken=" - itemlist.extend(youtube.fichas(item)) - # itemlist.pop(-1) - return itemlist - - -def file_cine_library(item, url_targets): - import os - from core import filetools - videolibrarypath = os.path.join(config.get_videolibrary_path(), "CINE") - archivo = item.show.strip() - strmfile = archivo + ".strm" - strmfilepath = filetools.join(videolibrarypath, strmfile) - - if not os.path.exists(strmfilepath): - itemlist = [] - itemlist.append(Item(channel=item.channel, title=">> Añadir a la videoteca...", url=url_targets, - action="add_file_cine_library", extra="episodios", show=archivo)) - - return itemlist - - -def add_file_cine_library(item): - from core import videolibrarytools - new_item = item.clone(title=item.show, action="play_from_library") - videolibrarytools.save_movie(new_item) - itemlist = [] - itemlist.append(Item(title='El vídeo ' + item.show + ' se ha añadido a la videoteca')) - # xbmctools.renderItems(itemlist, "", "", "") - platformtools.render_items(itemlist, "") - - return - def play(item): if "###" in item.url: @@ -780,13 +726,11 @@ def play(item): if devuelve: item.url = devuelve[0][1] item.server = devuelve[0][2] - + item.thumbnail = item.contentThumbnail + item.fulltitle = item.contentTitle return [item] -## -------------------------------------------------------------------------------- -## -------------------------------------------------------------------------------- - def agrupa_datos(data): ## Agrupa los datos data = re.sub(r'\n|\r|\t| |
    |', '', data) diff --git a/plugin.video.alfa/channels/pedropolis.py b/plugin.video.alfa/channels/pedropolis.py index 45cc0b15..845cba80 100644 --- a/plugin.video.alfa/channels/pedropolis.py +++ b/plugin.video.alfa/channels/pedropolis.py @@ -120,40 +120,51 @@ def peliculas(item): if len(matches_next_page) > 0: url_next_page = urlparse.urljoin(item.url, matches_next_page[0]) - for scrapedthumbnail, scrapedtitle, rating, calidad, scrapedurl, year in matches: - if 'Proximamente' not in calidad: + for scrapedthumbnail, scrapedtitle, rating, quality, scrapedurl, year in matches: + if 'Proximamente' not in quality: scrapedtitle = scrapedtitle.replace('Ver ', '').partition(' /')[0].partition(':')[0].replace( 'Español Latino', '').strip() - title = "%s [COLOR green][%s][/COLOR] [COLOR yellow][%s][/COLOR]" % (scrapedtitle, year, calidad) + title = "%s [COLOR green][%s][/COLOR] [COLOR yellow][%s][/COLOR]" % (scrapedtitle, year, quality) - new_item = Item(channel=__channel__, action="findvideos", contentTitle=scrapedtitle, - infoLabels={'year': year, 'rating': rating}, thumbnail=scrapedthumbnail, - url=scrapedurl, next_page=next_page, quality=calidad, title=title) - if year: - tmdb.set_infoLabels_item(new_item, __modo_grafico__) - itemlist.append(new_item) + + + itemlist.append(Item(channel=item.channel, action="findvideos", contentTitle=scrapedtitle, + infoLabels={"year":year, "rating":rating}, thumbnail=scrapedthumbnail, + url=scrapedurl, next_page=next_page, quality=quality, title=title)) + + tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__) if url_next_page: itemlist.append(Item(channel=__channel__, action="peliculas", title="» Siguiente »", url=url_next_page, next_page=next_page, folder=True, text_blod=True, thumbnail=get_thumb("next.png"))) - for item in itemlist: - if item.infoLabels['plot'] == '': - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - # logger.info(data) - item.fanart = scrapertools.find_single_match(data, - "").replace( - 'w780', 'original') - item.plot = scrapertools.find_single_match(data, '
    .*?

    ([' - '^<]+)

    ') - item.plot = scrapertools.htmlclean(item.plot) - item.infoLabels['director'] = scrapertools.find_single_match(data, - '
    ([^<]+)') - item.infoLabels['rating'] = scrapertools.find_single_match(data, '([^<]+)') - item.infoLabels['votes'] = scrapertools.find_single_match(data, '[' - '^<]+\s(.*?) votos') + for no_plot in itemlist: + if no_plot.infoLabels['plot'] == '': + thumb_id = scrapertools.find_single_match(no_plot.thumbnail, '.*?\/\d{2}\/(.*?)-') + thumbnail = "/%s.jpg" % thumb_id + filtro_list = {"poster_path": thumbnail} + filtro_list = filtro_list.items() + no_plot.infoLabels={'filtro':filtro_list} + tmdb.set_infoLabels_item(no_plot, __modo_grafico__) + + if no_plot.infoLabels['plot'] == '': + data = httptools.downloadpage(no_plot.url).data + data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) + # logger.info(data) + no_plot.fanart = scrapertools.find_single_match(data, + "").replace( + 'w780', 'original') + no_plot.plot = scrapertools.find_single_match(data, '
    .*?

    ([' + '^<]+)

    ') + no_plot.plot = scrapertools.htmlclean(no_plot.plot) + no_plot.infoLabels['director'] = scrapertools.find_single_match(data, + '
    ([^<]+)') + no_plot.infoLabels['rating'] = scrapertools.find_single_match(data, '([' + '^<]+)') + no_plot.infoLabels['votes'] = scrapertools.find_single_match(data, '[' + '^<]+\s(.*?) votos') return itemlist diff --git a/plugin.video.alfa/channels/peliculasrey.py b/plugin.video.alfa/channels/peliculasrey.py index bcaa5abd..ebd7c362 100755 --- a/plugin.video.alfa/channels/peliculasrey.py +++ b/plugin.video.alfa/channels/peliculasrey.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import re -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 logger, config @@ -16,117 +16,54 @@ def mainlist(item): itemlist = [] itemlist.append(Item(channel=item.channel, action="peliculas", title="Recientes", url=host)) - itemlist.append(Item(channel=item.channel, action="PorFecha", title="Año de Lanzamiento", url=host)) - itemlist.append(Item(channel=item.channel, action="Idiomas", title="Idiomas", url=host)) - itemlist.append(Item(channel=item.channel, action="calidades", title="Por calidad", url=host)) - itemlist.append(Item(channel=item.channel, action="generos", title="Por género", url=host)) + itemlist.append(Item(channel = item.channel, + action = "filtro", + title = "Año de Lanzamiento", + category = "lanzamiento" + )) + itemlist.append(Item(channel = item.channel, + action = "filtro", + title = "Idiomas", + category = "idioma" + )) + itemlist.append(Item(channel = item.channel, + action = "filtro", + title = "Por calidad", + category = "calidades" + )) + itemlist.append(Item(channel = item.channel, + action = "filtro", + title = "Por género", + category = "generos" + )) itemlist.append(Item(channel=item.channel, action="search", title="Buscar...", url=host)) return itemlist -def PorFecha(item): - logger.info() - - # Descarga la pagina - data = httptools.downloadpage(item.url).data - data = scrapertools.find_single_match(data, '
    (.*?)
    ') - - # Extrae las entradas (carpetas) - patron = '(.*?)') - - # Extrae las entradas (carpetas) - patron = '(.*?)') - - # Extrae las entradas (carpetas) - patron = '(.*?)') - patron = '(.*?)
    ') patron = '([^.*?href=(.*?) >.*?href=(.*?) > (.*?)

    ' - matches = re.compile(patron, re.DOTALL).findall(data) + matches = scrapertools.find_multiple_matches(data, patron) for url, thumbnail, title, sinopsis in matches: itemlist.append(Item(channel=item.channel, action="findvideos", title=title + " ", fulltitle=title, url=url, @@ -157,7 +151,7 @@ def findvideos(item): # Descarga la pagina data = httptools.downloadpage(item.url).data patron = 'cursor: hand" rel="(.*?)".*?class="optxt">(.*?)<.*?width.*?class="q">(.*?)Titulo original: ([^<]+)

    ') - contentTitle = scrapertools.decodeHtmlentities(contentTitle.strip()) - rating = scrapertools.find_single_match(datas, 'alt="Puntaje MPA IMDb" />
    ([^<]+)') - director = scrapertools.find_single_match( - datas, '') - title = "%s [COLOR yellow][%s][/COLOR]" % (scrapedtitle.strip(), calidad.upper()) + title = scrapedtitle + contentTitle = title + url = scrapedurl + quality = quality + thumbnail = scrapedthumbnail - new_item = Item(channel=item.channel, action="findvideos", title=title, plot='', contentType='movie', - url=scrapedurl, contentQuality=calidad, thumbnail=scrapedthumbnail, - contentTitle=contentTitle, infoLabels={"year": year, 'rating': rating, 'director': director}, - text_color=color3) + itemlist.append(Item(channel=item.channel, + action="findvideos", + title=title, url=url, + quality=quality, + thumbnail=thumbnail, + contentTitle=contentTitle, + infoLabels={"year": year}, + text_color=color3 + )) - if year: - tmdb.set_infoLabels_item(new_item, __modo_grafico__) - itemlist.append(new_item) + # for scrapedurl, calidad, year, scrapedtitle, scrapedthumbnail in matches: + # datas = httptools.downloadpage(scrapedurl).data + # datas = re.sub(r"\n|\r|\t|\s{2}| ", "", datas) + # # logger.info(datas) + # if '/ ' in scrapedtitle: + # scrapedtitle = scrapedtitle.partition('/ ')[2] + # contentTitle = scrapertools.find_single_match(datas, 'Titulo original: ([^<]+)

    ') + # contentTitle = scrapertools.decodeHtmlentities(contentTitle.strip()) + # rating = scrapertools.find_single_match(datas, 'alt="Puntaje MPA IMDb" />([^<]+)') + # director = scrapertools.find_single_match( + # datas, '') + # title = "%s [COLOR yellow][%s][/COLOR]" % (scrapedtitle.strip(), calidad.upper()) + # + # logger.debug('thumbnail: %s' % scrapedthumbnail) + # new_item = Item(channel=item.channel, action="findvideos", title=title, plot='', contentType='movie', + # url=scrapedurl, contentQuality=calidad, thumbnail=scrapedthumbnail, + # contentTitle=contentTitle, infoLabels={"year": year, 'rating': rating, 'director': director}, + # text_color=color3) + # itemlist.append(new_item) + tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__) paginacion = scrapertools.find_single_match(data, '