From 5d8d1d8e8d99ab8febb1f92e1f806e2ddecf9c16 Mon Sep 17 00:00:00 2001 From: Unknown Date: Wed, 20 Sep 2017 10:09:27 -0300 Subject: [PATCH 01/33] Canales Reparados --- plugin.video.alfa/channels/doomtv.json | 25 +- plugin.video.alfa/channels/doomtv.py | 303 +++++++------------------ plugin.video.alfa/channels/pelisfox.py | 55 +++-- plugin.video.alfa/servers/gvideo.json | 4 + plugin.video.alfa/servers/gvideo.py | 5 +- 5 files changed, 122 insertions(+), 270 deletions(-) mode change 100755 => 100644 plugin.video.alfa/channels/doomtv.py diff --git a/plugin.video.alfa/channels/doomtv.json b/plugin.video.alfa/channels/doomtv.json index 7e45d32d..f51eb8e8 100755 --- a/plugin.video.alfa/channels/doomtv.json +++ b/plugin.video.alfa/channels/doomtv.json @@ -10,31 +10,10 @@ "thumbnail": "https://s2.postimg.org/jivgi4ak9/doomtv.png", "banner": "https://s32.postimg.org/6gxyripvp/doomtv_banner.png", "version": 1, - "changes": [ - { - "date": "24/06/2017", - "description": "Cambios para autoplay" - }, - { - "date": "06/06/2017", - "description": "COmpatibilida con AutoPlay" - }, - { - "date": "12/05/2017", - "description": "Fix generos y enlaces" - }, - { - "date": "15/03/2017", - "description": "limpieza código" - }, - { - "date": "01/02/2017", - "description": "Release." - } - ], "categories": [ "latino", - "movie" + "movie", + "direct" ], "settings": [ { diff --git a/plugin.video.alfa/channels/doomtv.py b/plugin.video.alfa/channels/doomtv.py old mode 100755 new mode 100644 index 35df32a3..0ab1fe6e --- a/plugin.video.alfa/channels/doomtv.py +++ b/plugin.video.alfa/channels/doomtv.py @@ -18,7 +18,7 @@ list_language = IDIOMAS.values() CALIDADES = {'1080p': '1080p', '720p': '720p', '480p': '480p', '360p': '360p'} list_quality = CALIDADES.values() -list_servers = ['directo'] +list_servers = ['directo', 'openload'] host = 'http://doomtv.net/' headers = { @@ -32,10 +32,10 @@ tgenero = {"Comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png", "Aventura": "https://s10.postimg.org/6su40czih/aventura.png", "Romance": "https://s15.postimg.org/fb5j8cl63/romance.png", "Animación": "https://s13.postimg.org/5on877l87/animacion.png", - "Ciencia Ficción": "https://s9.postimg.org/diu70s7j3/cienciaficcion.png", + "Ciencia ficción": "https://s9.postimg.org/diu70s7j3/cienciaficcion.png", "Terror": "https://s7.postimg.org/yi0gij3gb/terror.png", - "Documentales": "https://s16.postimg.org/7xjj4bmol/documental.png", - "Musical": "https://s29.postimg.org/bbxmdh9c7/musical.png", + "Documental": "https://s16.postimg.org/7xjj4bmol/documental.png", + "Música": "https://s29.postimg.org/bbxmdh9c7/musical.png", "Fantasía": "https://s13.postimg.org/65ylohgvb/fantasia.png", "Bélico Guerra": "https://s23.postimg.org/71itp9hcr/belica.png", "Misterio": "https://s1.postimg.org/w7fdgf2vj/misterio.png", @@ -56,7 +56,6 @@ tgenero = {"Comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png", def mainlist(item): logger.info() - autoplay.init(item.channel, list_servers, list_quality) itemlist = [] itemlist.append( @@ -64,7 +63,7 @@ def mainlist(item): action="lista", thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png', fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', - url=host + url='%s%s'%(host,'peliculas/page/1') )) itemlist.append( @@ -72,34 +71,15 @@ def mainlist(item): action="seccion", thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png', fanart='https://s3.postimg.org/5s9jg2wtf/generos.png', - url=host, - extra='generos' + url='%s%s' % (host, 'peliculas/page/1'), )) itemlist.append( - item.clone(title="Mas vistas", - action="seccion", + item.clone(title="Mas Vistas", + action="lista", thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png', fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png', - url=host, - extra='masvistas' - )) - - itemlist.append( - item.clone(title="Recomendadas", - action="lista", - thumbnail='https://s12.postimg.org/s881laywd/recomendadas.png', - fanart='https://s12.postimg.org/s881laywd/recomendadas.png', - url=host, - extra='recomendadas' - )) - - itemlist.append( - item.clone(title="Por año", - action="seccion", - thumbnail='https://s8.postimg.org/7eoedwfg5/pora_o.png', - fanart='https://s8.postimg.org/7eoedwfg5/pora_o.png', - url=host, extra='poraño' + url='%s%s'%(host,'top-imdb/page/1'), )) itemlist.append( @@ -110,8 +90,6 @@ def mainlist(item): fanart='https://s30.postimg.org/pei7txpa9/buscar.png' )) - autoplay.show_option(item.channel, itemlist) - return itemlist @@ -123,23 +101,11 @@ def lista(item): next_page_url = '' data = httptools.downloadpage(item.url).data + data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) + + patron = 'movie-id=.*?href=(.*?) data-url.*?quality>(.*?)' + patron += '(.*?)<\/h2>.*?

(.*?)<\/p>' - if item.extra == 'recomendadas': - patron = '.*?' - patron += '

.*?' - patron += '(.*?)(?:–.*?|\(.*?|–| 0: - next_page_url = urlparse.urljoin(item.url, matches_next_page[0]) + next_page_str = scrapertools.find_single_match(data,"
  • (\d+)") + next_page_num = int(next_page_str)+1 + page_base = re.sub(r'(page\/\d+)','', item.url) + next_page_url = '%s%s%s'%(page_base,'page/',next_page_num) - for scrapedthumbnail, scrapedtitle, scrapedurl, scrapedyear in matches: - if item.extra == 'recomendadas': - url = scrapedthumbnail - title = scrapedurl - thumbnail = scrapedtitle - else: - url = scrapedurl - thumbnail = scrapedthumbnail - title = scrapedtitle - year = scrapedyear + if next_page_url: + next_page_url = next_page_url + + for scrapedurl, quality, scrapedthumbnail, scrapedtitle, plot in matches: + + url = scrapedurl + thumbnail = scrapedthumbnail + filtro_thumb = scrapedthumbnail.replace("https://image.tmdb.org/t/p/w185", "") + filtro_list = {"poster_path": filtro_thumb.strip()} + filtro_list = filtro_list.items() + title = scrapedtitle fanart = '' - plot = '' - - if 'serie' not in url: - itemlist.append( - Item(channel=item.channel, - action='findvideos', - title=title, - url=url, - thumbnail=thumbnail, - plot=plot, - fanart=fanart, - contentTitle=title, - infoLabels={'year': year}, - context=autoplay.context - )) - - tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + plot = plot + itemlist.append( + Item(channel=item.channel, + action='findvideos', + title=title, + url=url, + thumbnail=thumbnail, + plot=plot, + infoLabels={'filtro': filtro_list}, + fanart=fanart, + contentTitle=title + )) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb = True) # Paginacion if next_page_url != '': itemlist.append( @@ -203,17 +166,8 @@ def seccion(item): itemlist = [] duplicado = [] data = httptools.downloadpage(item.url).data - - if item.extra == 'generos': - data = re.sub(r'"|\n|\r|\t| |
    |\s{2,}', "", data) - accion = 'lista' - if item.extra == 'masvistas': - patron = '\d*<\/b>\s*(.*?<\/a>\s*.*?<\/span>\s*.*?<\/i><\/li>)' - accion = 'findvideos' - elif item.extra == 'poraño': - patron = '
  • (.*?)<\/a><\/li>' - else: - patron = '
  • (.*?)<\/i>' + data = re.sub(r'"|\n|\r|\t| |
    |\s{2,}', "", data) + patron = 'menu-item-object-category menu-item-\d+>
    (.*?)<\/a><\/li>' matches = re.compile(patron, re.DOTALL).findall(data) @@ -221,61 +175,19 @@ def seccion(item): url = scrapedurl title = scrapedtitle thumbnail = '' - fanart = '' - plot = '' - year = '' - contentTitle = '' - if item.extra == 'masvistas': - year = re.findall(r'\b\d{4}\b', scrapedtitle) - title = re.sub(r'<\/a>\s*.*?<\/span>\s*.*?<\/i><\/li>', '', scrapedtitle) - contentTitle = title - title = title + ' (' + year[0] + ')' - - elif item.extra == 'generos': - title = re.sub(r'<\/a> \d+', '', scrapedtitle) - cantidad = re.findall(r'.*?<\/a> (\d+)', scrapedtitle) - th_title = title - title = title + ' (' + cantidad[0] + ')' - thumbnail = tgenero[th_title] - fanart = thumbnail - + if title in tgenero: + thumbnail = tgenero[title] if url not in duplicado: itemlist.append( Item(channel=item.channel, - action=accion, + action='lista', title=title, url=url, - thumbnail=thumbnail, - plot=plot, - fanart=fanart, - contentTitle=contentTitle, - infoLabels={'year': year} + thumbnail = thumbnail )) - duplicado.append(url) - tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) return itemlist -def unpack(packed): - p, c, k = re.search("}\('(.*)', *\d+, *(\d+), *'(.*)'\.", packed, re.DOTALL).groups() - for c in reversed(range(int(c))): - if k.split('|')[c]: p = re.sub(r'(\b%s\b)' % c, k.split('|')[c], p) - p = p.replace('\\', '') - p = p.decode('string_escape') - return p - - -def getinfo(page_url): - info = () - logger.info() - data = httptools.downloadpage(page_url).data - thumbnail = scrapertools.find_single_match(data, '
    .*?(eval\(function\(p,a,c,k.*?\)\)\))") - if packed: - unpacked = unpack(packed) - video_urls = [] - if "vimeocdn" in unpacked: - - streams = scrapertools.find_multiple_matches(unpacked, - "{file:'(.*?)',type:'video/.*?',label:'(.*?)'") - for video_url, quality in streams: - video_urls.append([video_url, quality]) - else: - doc_id = scrapertools.find_single_match(unpacked, 'driveid=(.*?)&') - doc_url = "http://docs.google.com/get_video_info?docid=%s" % doc_id - response = httptools.downloadpage(doc_url, cookies=False) - cookies = "" - cookie = response.headers["set-cookie"].split("HttpOnly, ") - for c in cookie: - cookies += c.split(";", 1)[0] + "; " - - data = response.data.decode('unicode-escape') - data = urllib.unquote_plus(urllib.unquote_plus(data)) - headers_string = "|Cookie=" + cookies - - url_streams = scrapertools.find_single_match(data, 'url_encoded_fmt_stream_map=(.*)') - streams = scrapertools.find_multiple_matches(url_streams, - 'itag=(\d+)&url=(.*?)(?:;.*?quality=.*?(?:,|&)|&quality=.*?(?:,|&))') - - itags = {'18': '360p', '22': '720p', '34': '360p', '35': '480p', '37': '1080p', '59': '480p'} - for itag, video_url in streams: - video_url += headers_string - video_urls.append([video_url, itags[itag]]) - - for video_item in video_urls: - calidad = video_item[1] - title = '%s [%s]' % (item.contentTitle, calidad) - url = video_item[0] - - if url not in duplicado: - itemlist.append( - Item(channel=item.channel, - action='play', - title=title, - url=url, - thumbnail=item.thumbnail, - plot=item.plot, - fanart=item.fanart, - contentTitle=item.contentTitle, - language=IDIOMAS['latino'], - server='directo', - quality=CALIDADES[calidad], - context=item.context - )) - duplicado.append(url) - else: - itemlist.extend(servertools.find_video_items(data=option)) - - for videoitem in itemlist: - - if 'Enlace' in videoitem.title: - videoitem.channel = item.channel - videoitem.title = item.contentTitle + ' (' + videoitem.server + ')' - videoitem.language = 'latino' - videoitem.quality = 'default' - return itemlist - - def findvideos(item): logger.info() itemlist = [] - itemlist = get_url(item) + #itemlist = get_url(item) + data = httptools.downloadpage(item.url).data + data = re.sub(r'"|\n|\r|\t| |
    |\s{2,}', "", data) + patron = 'id=(tab\d+)>
    <(?:iframe|script) src=(.*?)(?:scrolling|><\/script>)' + matches = re.compile(patron, re.DOTALL).findall(data) - # Requerido para FilterTools + for option, urls in matches: + quality = scrapertools.find_single_match(data, '
    (.*?)<\/a><\/div>'%option) + title = '%s (%s)' % (item.title, quality) + if 'content' in urls: + urls = '%s%s'%('http:',urls) + hidden_data = httptools.downloadpage(urls).data + hidden_data = re.sub(r'"|\n|\r|\t| |
    |\s{2,}', "", hidden_data) + patron = 'sources: \[{file: (.*?),' + matches = re.compile(patron, re.DOTALL).findall(hidden_data) - itemlist = filtertools.get_links(itemlist, item, list_language) + for videoitem in matches: - # Requerido para AutoPlay - - autoplay.start(itemlist, item) + new_item = Item( + channel = item.channel, + url = videoitem, + title = title, + contentTitle = item.title, + action = 'play', + quality = quality + ) + itemlist.append(new_item) + else: + new_item = Item( + channel=item.channel, + url=urls, + title=title, + contentTitle=item.title, + action='play', + quality = quality + ) + itemlist.append(new_item) + itemlist = servertools.get_servers_itemlist(itemlist) if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': itemlist.append( diff --git a/plugin.video.alfa/channels/pelisfox.py b/plugin.video.alfa/channels/pelisfox.py index 19ab6dc0..d3b67d3e 100644 --- a/plugin.video.alfa/channels/pelisfox.py +++ b/plugin.video.alfa/channels/pelisfox.py @@ -7,6 +7,7 @@ from core import jsontools from core import scrapertools from core import servertools from core import tmdb +from core import jsontools from core.item import Item from platformcode import config, logger @@ -237,36 +238,40 @@ def findvideos(item): language=lang, url=url )) - logger.debug('templist: %s' % templist) for videoitem in templist: - logger.debug('videoitem.language: %s' % videoitem.language) data = httptools.downloadpage(videoitem.url).data - data = re.sub(r'"|\n|\r|\t| |
    |\s{2,}', "", data) - id = scrapertools.find_single_match(data, 'var _SOURCE =.*?source:(.*?),') - if videoitem.language == 'SUB': - sub = scrapertools.find_single_match(data, 'var _SOURCE =.*?srt:(.*?),') - sub = sub.replace('\\', '') - else: - sub = '' - new_url = 'https://onevideo.tv/api/player?key=90503e3de26d45e455b55e9dc54f015b3d1d4150&link' \ - '=%s&srt=%s' % (id, sub) + urls_list = scrapertools.find_multiple_matches(data, '({"type":.*?})') + for element in urls_list: + json_data=jsontools.load(element) - data = httptools.downloadpage(new_url).data + id = json_data['id'] + sub = json_data['srt'] + url = json_data['source'] - url = scrapertools.find_single_match(data, '' # + matches = re.compile(patron, re.DOTALL).findall(data) + + for option, url in matches: + lang = scrapertools.find_single_match(data, '
  • .*? 0 and item.extra != 'serie': + itemlist.append(Item(channel=__channel__, + title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', + url=item.url, action="add_pelicula_to_library", + thumbnail=get_thumb("videolibrary_movie.png"), + extra="findvideos", contentTitle=item.contentTitle)) + + return itemlist diff --git a/plugin.video.alfa/channels/thumbzilla.json b/plugin.video.alfa/channels/thumbzilla.json new file mode 100644 index 00000000..0ce89ef0 --- /dev/null +++ b/plugin.video.alfa/channels/thumbzilla.json @@ -0,0 +1,44 @@ +{ + "id": "thumbzilla", + "name": "ThumbZilla", + "active": true, + "adult": true, + "language": "en", + "fanart": "https://raw.githubusercontent.com/Inter95/tvguia/master/thumbnails/adults/xthearebg.jpg", + "thumbnail": "https://image.spreadshirtmedia.com/image-server/v1/designs/1002274824,width=178,height=178/thumbzilla-womens-white-tee-big-logo.png", + "banner": "", + "version": 1, + "changes": [ + { + "date": "07/06/17", + "description": "Canal Nuevo" + } + ], + "categories": [ + "adult" + ], + "settings": [ + { + "id": "modo_grafico", + "type": "bool", + "label": "Buscar información extra", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "perfil", + "type": "list", + "label": "Perfil de color", + "default": 3, + "enabled": true, + "visible": true, + "lvalues": [ + "Sin color", + "Perfil 3", + "Perfil 2", + "Perfil 1" + ] + } + ] +} diff --git a/plugin.video.alfa/channels/thumbzilla.py b/plugin.video.alfa/channels/thumbzilla.py new file mode 100644 index 00000000..3ad51f41 --- /dev/null +++ b/plugin.video.alfa/channels/thumbzilla.py @@ -0,0 +1,166 @@ +# -*- coding: utf-8 -*- + +import re +import urlparse + +from core import channeltools +from core import httptools +from core import scrapertools +from core import servertools +from core.item import Item +from platformcode import config, logger +from channelselector import get_thumb + +__channel__ = "thumbzilla" + +host = 'https://www.thumbzilla.com/' +try: + __modo_grafico__ = config.get_setting('modo_grafico', __channel__) + __perfil__ = int(config.get_setting('perfil', __channel__)) +except: + __modo_grafico__ = True + __perfil__ = 0 + +# Fijar perfil de color +perfil = [['0xFF6E2802', '0xFFFAA171', '0xFFE9D7940'], + ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E'], + ['0xFF58D3F7', '0xFF2E64FE', '0xFF0404B4']] + +if __perfil__ - 1 >= 0: + color1, color2, color3 = perfil[__perfil__ - 1] +else: + color1 = color2 = color3 = "" + +headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], + ['Referer', host]] + +parameters = channeltools.get_channel_parameters(__channel__) +fanart_host = parameters['fanart'] +thumbnail_host = parameters['thumbnail'] +thumbnail = 'https://raw.githubusercontent.com/Inter95/tvguia/master/thumbnails/adults/%s.png' + + +def mainlist(item): + logger.info() + itemlist = [] + itemlist.append(Item(channel=__channel__, action="videos", title="Más Calientes", url=host, + viewmode="movie", thumbnail=get_thumb("channels_adult.png"))) + + itemlist.append(Item(channel=__channel__, title="Nuevas", url=host + 'newest', + action="videos", viewmode="movie_with_plot", viewcontent='movies', + thumbnail=get_thumb("channels_adult.png"))) + + itemlist.append(Item(channel=__channel__, title="Tendencias", url=host + 'tending', + action="videos", viewmode="movie_with_plot", viewcontent='movies', + thumbnail=get_thumb("channels_adult.png"))) + + itemlist.append(Item(channel=__channel__, title="Mejores Videos", url=host + 'top', + action="videos", viewmode="movie_with_plot", viewcontent='movies', + thumbnail=get_thumb("channels_adult.png"))) + + itemlist.append(Item(channel=__channel__, title="Populares", url=host + 'popular', + action="videos", viewmode="movie_with_plot", viewcontent='movies', + thumbnail=get_thumb("channels_adult.png"))) + + itemlist.append(Item(channel=__channel__, title="Videos en HD", url=host + 'hd', + action="videos", viewmode="movie_with_plot", viewcontent='movies', + thumbnail=get_thumb("channels_adult.png"))) + + itemlist.append(Item(channel=__channel__, title="Caseros", url=host + 'hd', + action="videos", viewmode="movie_with_plot", viewcontent='homemade', + thumbnail=get_thumb("channels_adult.png"))) + + itemlist.append(Item(channel=__channel__, title="Categorías", action="categorias", + url=host + 'categories/', viewmode="movie_with_plot", viewcontent='movies', + thumbnail=get_thumb("channels_adult.png"))) + + itemlist.append(Item(channel=__channel__, title="Buscador", action="search", url=host, + thumbnail=get_thumb("channels_adult.png"), extra="buscar")) + return itemlist + + +# REALMENTE PASA LA DIRECCION DE BUSQUEDA + +def search(item, texto): + logger.info() + texto = texto.replace(" ", "+") + item.url = urlparse.urljoin(item.url, "video/search?q={0}".format(texto)) + # item.url = item.url % tecleado + item.extra = "buscar" + try: + return videos(item) + # Se captura la excepción, para no interrumpir al buscador global si un canal falla + except: + import sys + for line in sys.exc_info(): + logger.error("{0}".format(line)) + return [] + + +def videos(item): + logger.info() + itemlist = [] + + data = httptools.downloadpage(item.url).data + data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) + patron = '' # url + patron += '').replace('amp;', '') + + if paginacion: + itemlist.append(Item(channel=item.channel, action="videos", + thumbnail=thumbnail % 'rarrow', + title="\xc2\xbb Siguiente \xc2\xbb", url=paginacion)) + + return itemlist + + +def categorias(item): + logger.info() + itemlist = [] + data = httptools.downloadpage(item.url).data + data = re.sub(r"\n|\r|\t| |
    ", "", data) + # logger.info(data) + patron = 'class="checkHomepage">
    Date: Sat, 23 Sep 2017 21:07:49 -0400 Subject: [PATCH 26/33] Update pedropolis.py --- plugin.video.alfa/channels/pedropolis.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugin.video.alfa/channels/pedropolis.py b/plugin.video.alfa/channels/pedropolis.py index 2c4bcdc8..b647f711 100644 --- a/plugin.video.alfa/channels/pedropolis.py +++ b/plugin.video.alfa/channels/pedropolis.py @@ -422,7 +422,6 @@ def findvideos(item): data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - lang = {'mx': 'LAT', 'pe': 'LAT'} # logger.info(data) patron = '
    ' # matches = re.compile(patron, re.DOTALL).findall(data) From e547a6a61201a7ef11507d827124f05ac841d497 Mon Sep 17 00:00:00 2001 From: Alfa <30527549+alfa-addon@users.noreply.github.com> Date: Sat, 23 Sep 2017 21:28:36 -0400 Subject: [PATCH 27/33] Update pedropolis.py --- plugin.video.alfa/channels/pedropolis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.video.alfa/channels/pedropolis.py b/plugin.video.alfa/channels/pedropolis.py index b647f711..070d8a7c 100644 --- a/plugin.video.alfa/channels/pedropolis.py +++ b/plugin.video.alfa/channels/pedropolis.py @@ -399,7 +399,7 @@ def episodios(item): for i in itemlist: if i.infoLabels['title']: # Si el capitulo tiene nombre propio añadírselo al titulo del item - i.title = "%s" % (i.infoLabels['season'], i.infoLabels['episode'], i.infoLabels['title']) + i.title = "%sx%s %s" % (i.infoLabels['season'], i.infoLabels['episode'], i.infoLabels['title']) if i.infoLabels.has_key('poster_path'): # Si el capitulo tiene imagen propia remplazar al poster i.thumbnail = i.infoLabels['poster_path'] From 8b9c811671c07cf62d41b95d2850426d93a2fdaa Mon Sep 17 00:00:00 2001 From: prpeaprendiz <31428501+prpeaprendiz@users.noreply.github.com> Date: Sat, 23 Sep 2017 20:39:59 -0500 Subject: [PATCH 28/33] =?UTF-8?q?update=20cinecalidad=20(est=C3=A9ticos=20?= =?UTF-8?q?y=20limpieza=20c=C3=B3digo)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Edición final de mejoras estéticas y limpieza de código innecesario. --- plugin.video.alfa/channels/cinecalidad.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/plugin.video.alfa/channels/cinecalidad.py b/plugin.video.alfa/channels/cinecalidad.py index b4c384ca..f2b44121 100644 --- a/plugin.video.alfa/channels/cinecalidad.py +++ b/plugin.video.alfa/channels/cinecalidad.py @@ -298,7 +298,7 @@ def findvideos(item): if server_id in server_url: server = server_id.lower() - thumbnail = servertools.guess_server_thumbnail(server_id) + thumbnail = item.contentThumbnail if server_id == 'TVM': server = 'thevideo.me' url = server_url[server_id] + video_id + '.html' @@ -367,7 +367,7 @@ def play(item): for videoitem in itemlist: videoitem.title = item.fulltitle videoitem.fulltitle = item.fulltitle - videoitem.thumbnail = item.extra + videoitem.thumbnail = item.contentThumbnail videoitem.channel = item.channel else: itemlist.append(item) @@ -463,9 +463,4 @@ def search(item, texto): for line in sys.exc_info(): logger.error("%s" % line) return [] - return itemlist - - -def play(item): - item.thumbnail = item.contentThumbnail - return [item] + From e4fc87d17ebf59bf0e097ab6de8b7cf129ed55ff Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Sun, 24 Sep 2017 09:18:12 -0500 Subject: [PATCH 29/33] Update cloudy.json --- plugin.video.alfa/servers/cloudy.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin.video.alfa/servers/cloudy.json b/plugin.video.alfa/servers/cloudy.json index e6ad3b7a..a0d0f523 100755 --- a/plugin.video.alfa/servers/cloudy.json +++ b/plugin.video.alfa/servers/cloudy.json @@ -15,7 +15,7 @@ "patterns": [ { "pattern": "cloudy.ec/(?:embed.php\\?id=|v/)([A-z0-9]+)", - "url": "https://www.cloudy.ec/embed.php?id=\\1" + "url": "https://www.cloudy.ec/embed.php?id=\\1&playerPage=1" } ] }, @@ -49,4 +49,4 @@ } ], "version": 1 -} \ No newline at end of file +} From 98b355b6f0a6282877054fefc64efe648f9041cf Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Sun, 24 Sep 2017 09:27:34 -0500 Subject: [PATCH 30/33] Update uptobox.py --- plugin.video.alfa/servers/uptobox.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/plugin.video.alfa/servers/uptobox.py b/plugin.video.alfa/servers/uptobox.py index afcb5559..d563ca52 100755 --- a/plugin.video.alfa/servers/uptobox.py +++ b/plugin.video.alfa/servers/uptobox.py @@ -2,6 +2,7 @@ import urllib +from core import httptools from core import scrapertools from platformcode import logger @@ -9,11 +10,11 @@ from platformcode import logger def test_video_exists(page_url): logger.info("(page_url='%s')" % page_url) - data = scrapertools.cache_page(page_url) + data = httptools.downloadpage(page_url).data if "Streaming link:" in data: return True, "" - elif "Unfortunately, the file you want is not available." in data: + elif "Unfortunately, the file you want is not available." in data or "Unfortunately, the video you want to see is not available" in data: return False, "[Uptobox] El archivo no existe o ha sido borrado" wait = scrapertools.find_single_match(data, "You have to wait ([0-9]+) (minute|second)") if len(wait) > 0: @@ -27,20 +28,20 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= logger.info("(page_url='%s')" % page_url) # Si el enlace es directo de upstream if "uptobox" not in page_url: - data = scrapertools.cache_page(page_url) + data = httptools.downloadpage(page_url).data if "Video not found" in data: page_url = page_url.replace("uptostream.com/iframe/", "uptobox.com/") - data = scrapertools.cache_page(page_url) + data = httptools.downloadpage(page_url).data video_urls = uptobox(page_url, data) else: video_urls = uptostream(data) else: - data = scrapertools.cache_page(page_url) + data = httptools.downloadpage(page_url).data # Si el archivo tiene enlace de streaming se redirige a upstream if "Streaming link:" in data: page_url = "http://uptostream.com/iframe/" + scrapertools.find_single_match(page_url, 'uptobox.com/([a-z0-9]+)') - data = scrapertools.cache_page(page_url) + data = httptools.downloadpage(page_url).data video_urls = uptostream(data) else: # Si no lo tiene se utiliza la descarga normal @@ -76,7 +77,7 @@ def uptobox(url, data): for inputname, inputvalue in matches: post += inputname + "=" + inputvalue + "&" - data = scrapertools.cache_page(url, post=post[:-1]) + data = httptools.downloadpage(url, post=post[:-1]).data media = scrapertools.find_single_match(data, '\s*') # Solo es necesario codificar la ultima parte de la url url_strip = urllib.quote(media.rsplit('/', 1)[1]) From 1637afcebc0d1c63a58c706d2c5d4e33f72c6c07 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Sun, 24 Sep 2017 09:35:36 -0500 Subject: [PATCH 31/33] Update openload.py --- plugin.video.alfa/servers/openload.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugin.video.alfa/servers/openload.py b/plugin.video.alfa/servers/openload.py index e667b72f..692f57c3 100644 --- a/plugin.video.alfa/servers/openload.py +++ b/plugin.video.alfa/servers/openload.py @@ -52,7 +52,8 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= numeros = scrapertools.find_single_match(data, '_[A-f0-9]+x[A-f0-9]+\s*(?:=|\^)\s*([0-9]{4,}|0x[A-f0-9]{4,})') op1, op2 = scrapertools.find_single_match(data, '\(0x(\d),0x(\d)\);') idparse, hexparse = scrapertools.find_multiple_matches(data, "parseInt\('([0-9]+)'") - numeros = [numeros, str(int(hexparse, 8))] + # numeros = [numeros, str(int(hexparse, 8))] + rangos, rangos2 = scrapertools.find_single_match(data, "\)-([0-9]+).0x4\)/\(([0-9]+)") videourl = "" for encode in var_encodes: text_decode = "" @@ -81,11 +82,12 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= if value3 < index1: break - value4 = value2 ^ decode1[j % (mult / 8)] ^ int(idparse,8) - for n in numeros: - if not n.isdigit(): - n = int(n, 16) - value4 ^= int(n) + # value4 = value2 ^ decode1[j % (mult / 8)] ^ int(idparse,8) + # for n in numeros: + # if not n.isdigit(): + # n = int(n, 16) + # value4 ^= int(n) + value4 = value2 ^ decode1[(j % 9)] ^ (int(idparse, 8) - int(rangos) + 4) / (int(rangos2) - 8) ^ int(hexparse, 8) value5 = index1 * 2 + 127 for h in range(4): valorfinal = (value4 >> 8 * h) & (value5) From 076fd4f2dcd8b438041a645090e29b3ec66c6e87 Mon Sep 17 00:00:00 2001 From: Alfa-Addon Date: Sun, 24 Sep 2017 15:33:06 -0400 Subject: [PATCH 32/33] updated --- plugin.video.alfa/channels/pedropolis.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugin.video.alfa/channels/pedropolis.py b/plugin.video.alfa/channels/pedropolis.py index 070d8a7c..c5a01871 100644 --- a/plugin.video.alfa/channels/pedropolis.py +++ b/plugin.video.alfa/channels/pedropolis.py @@ -399,7 +399,7 @@ def episodios(item): for i in itemlist: if i.infoLabels['title']: # Si el capitulo tiene nombre propio añadírselo al titulo del item - i.title = "%sx%s %s" % (i.infoLabels['season'], i.infoLabels['episode'], i.infoLabels['title']) + i.title = "%sx%s: %s" % (i.infoLabels['season'], i.infoLabels['episode'], i.infoLabels['title']) if i.infoLabels.has_key('poster_path'): # Si el capitulo tiene imagen propia remplazar al poster i.thumbnail = i.infoLabels['poster_path'] @@ -423,7 +423,7 @@ def findvideos(item): data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) # logger.info(data) - patron = '
    ' # + patron = '
    ' # lang, url matches = re.compile(patron, re.DOTALL).findall(data) for option, url in matches: From 7e622052d29e83309003aafddfd362c5e5ccf90b Mon Sep 17 00:00:00 2001 From: Alfa-Addon Date: Sun, 24 Sep 2017 15:52:20 -0400 Subject: [PATCH 33/33] v2.0.6 --- plugin.video.alfa/addon.xml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index 9aa2ade9..4bccd512 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@  - + @@ -19,16 +19,11 @@ [B]Estos son los cambios para esta versión:[/B] [COLOR green][B]Canales agregados y arreglos[/B][/COLOR] - » peliscity » cinecalidad - » peliculasrey » doomtv - » peliculasnu » yaske - » pelisplusco » pelisfox - » newpct1 » peliculasaudiolatino - » pelisplus » vimeo - » streamplay » pelismundo - » pedropolis » thumbzilla - » gvideo ¤ arreglos internos - [COLOR green]Gracias a [COLOR yellow]msdos, d3vanony[/COLOR] y [COLOR yellow]prpeaprendiz[/COLOR] por su colaboración en esta versión[/COLOR] + » pedropolis » cinecalidad + » openload » cloudy + » uptobox ¤ arreglos internos + + [COLOR green]Gracias a [COLOR yellow]msdos[/COLOR] y [COLOR yellow]prpeaprendiz[/COLOR] por su colaboración en esta versión[/COLOR] Navega con Kodi por páginas web para ver sus videos de manera fácil. Browse web pages using Kodi