diff --git a/mediaserver/platformcode/controllers/html.py b/mediaserver/platformcode/controllers/html.py index 83a6b8b1..f59d029b 100644 --- a/mediaserver/platformcode/controllers/html.py +++ b/mediaserver/platformcode/controllers/html.py @@ -626,7 +626,7 @@ class platform(Platformtools): # Obtenemos el canal desde donde se ha echo la llamada y cargamos los settings disponibles para ese canal if not channelpath: channelpath = inspect.currentframe().f_back.f_back.f_code.co_filename - channelname = os.path.basename(channelpath).replace(".py", "") + channelname = os.path.basename(channelpath).split(".")[0] ch_type = os.path.basename(os.path.dirname(channelpath)) # Si no tenemos list_controls, hay que sacarlos del json del canal diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index b8bd9379..2ec2d4fe 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@ - + @@ -10,8 +10,8 @@ Navega con Kodi por páginas web. - logo-cumple.png - fanart1.jpg + logo-n.jpg + fanart-xmas.jpg resources/media/themes/ss/1.jpg resources/media/themes/ss/2.jpg resources/media/themes/ss/3.jpg @@ -19,15 +19,16 @@ [B]Estos son los cambios para esta versión:[/B] [COLOR green][B]Arreglos[/B][/COLOR] - ¤ Todopeliculas ¤ Maxipelis24 ¤ allcalidad - ¤ descargacineclasico ¤ porntrex ¤ seriesmetro - ¤ pedropolis ¤ thumzilla ¤ xms + ¤ allcalidad ¤ asialiveaction ¤ repelis + ¤ DoramasMP4 ¤ CanalPelis ¤ Vi2 + ¤ PeliculonHD ¤ PeliculasHD ¤ UltraPeliculasHD + ¤ Newpct1 ¤ maxipelis24 ¤ repelis.live + ¤ cuevana2 ¤ cuevana2espanol [COLOR green][B]Novedades[/B][/COLOR] - ¤ cine24h ¤ hdfilmologia ¤ pelis24 - ¤ pelishd24 ¤ pelisplay + ¤ pack +18 - ¤ Agradecimientos a @chivmalev por colaborar con ésta versión + ¤ Agradecimientos a @mrgaturus, @GeorgeRamga y @chivmalev por colaborar con ésta versión Navega con Kodi por páginas web para ver sus videos de manera fácil. diff --git a/plugin.video.alfa/channels/allcalidad.json b/plugin.video.alfa/channels/allcalidad.json index 580f6c53..13907e6e 100755 --- a/plugin.video.alfa/channels/allcalidad.json +++ b/plugin.video.alfa/channels/allcalidad.json @@ -20,7 +20,7 @@ "visible": true, "lvalues": [ "No filtrar", - "LAT" + "Latino" ] }, { diff --git a/plugin.video.alfa/channels/allcalidad.py b/plugin.video.alfa/channels/allcalidad.py index acce6a51..a5022ebf 100755 --- a/plugin.video.alfa/channels/allcalidad.py +++ b/plugin.video.alfa/channels/allcalidad.py @@ -11,7 +11,7 @@ from core.item import Item from platformcode import config, logger -IDIOMAS = {'Latino': 'LAT'} +IDIOMAS = {'Latino': 'Latino'} list_language = IDIOMAS.values() list_quality = [] list_servers = ['rapidvideo', 'streamango', 'fastplay', 'flashx', 'openload', 'vimeo', 'netutv'] @@ -19,7 +19,7 @@ list_servers = ['rapidvideo', 'streamango', 'fastplay', 'flashx', 'openload', 'v __channel__='allcalidad' -host = "http://allcalidad.com/" +host = "http://allcalidad.net/" try: __modo_grafico__ = config.get_setting('modo_grafico', __channel__) diff --git a/plugin.video.alfa/channels/anitoonstv.py b/plugin.video.alfa/channels/anitoonstv.py index 46f2f177..ac4e623c 100644 --- a/plugin.video.alfa/channels/anitoonstv.py +++ b/plugin.video.alfa/channels/anitoonstv.py @@ -32,11 +32,11 @@ def mainlist(item): itemlist = list() - itemlist.append(Item(channel=item.channel, action="lista", title="Series", url=host+"/lista-de-anime.php", + itemlist.append(Item(channel=item.channel, action="lista", title="Series", contentTitle="Series", url=host+"/lista-de-anime.php", thumbnail=thumb_series, range=[0,19])) - itemlist.append(Item(channel=item.channel, action="lista", title="Películas", url=host+"/catalogo.php?g=&t=peliculas&o=0", + itemlist.append(Item(channel=item.channel, action="lista", title="Películas", contentTitle="Películas", url=host+"/catalogo.php?g=&t=peliculas&o=0", thumbnail=thumb_series, range=[0,19] )) - itemlist.append(Item(channel=item.channel, action="lista", title="Especiales", url=host+"/catalogo.php?g=&t=especiales&o=0", + itemlist.append(Item(channel=item.channel, action="lista", title="Especiales", contentTitle="Especiales", url=host+"/catalogo.php?g=&t=especiales&o=0", thumbnail=thumb_series, range=[0,19])) itemlist.append(Item(channel=item.channel, action="search", title="Buscar", thumbnail=thumb_series, range=[0,19])) @@ -109,14 +109,14 @@ def lista(item): context2 = autoplay.context context.extend(context2) scrapedurl=host+scrapedurl - if item.title!="Series": + if item.contentTitle!="Series": itemlist.append(item.clone(title=scrapedtitle, contentTitle=show,url=scrapedurl, thumbnail=scrapedthumbnail, action="findvideos", context=context)) else: itemlist.append(item.clone(title=scrapedtitle, contentSerieName=show,url=scrapedurl, plot=scrapedplot, thumbnail=scrapedthumbnail, action="episodios", context=context)) tmdb.set_infoLabels(itemlist, seekTmdb=True) - itemlist.append(Item(channel=item.channel, url=item.url, range=next_page, title='Pagina Siguente >>>', action='lista')) + itemlist.append(Item(channel=item.channel, url=item.url, range=next_page, title='Pagina Siguente >>>', contentTitle=item.title, action='lista')) return itemlist diff --git a/plugin.video.alfa/channels/asialiveaction.py b/plugin.video.alfa/channels/asialiveaction.py index 60a79b4e..bdc806bc 100644 --- a/plugin.video.alfa/channels/asialiveaction.py +++ b/plugin.video.alfa/channels/asialiveaction.py @@ -97,13 +97,13 @@ def episodios(item): data = data.replace('"ep0','"epp"') patron = '(?is)
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", @@ -182,35 +182,37 @@ def lista(item): def findvideos(item): logger.info() itemlist = [] - dl_links = [] - data = httptools.downloadpage(item.url).data - data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) - ### obtiene los gvideo - patron = 'class="Button Sm fa fa-download mg">') - 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) - patron = '
([^.*?.*?' patron += '
([^<]+)
' matches = scrapertools.find_multiple_matches(data, patron) - for scrapedthumbnail, scrapedtitle, scrapedurl, plot in matches: + for scrapedthumbnail, scrapedtitle, scrapedurl, plot in matches[item.page:item.page + 30]: if plot == '': plot = scrapertools.find_single_match(data, '
([^<]+)
') scrapedtitle = scrapedtitle.replace('Ver ', '').replace( @@ -238,13 +265,20 @@ def series(item): contentSerieName=scrapedtitle, show=scrapedtitle, plot=plot, thumbnail=scrapedthumbnail, contentType='tvshow')) - url_next_page = scrapertools.find_single_match(data, '') + # url_next_page = scrapertools.find_single_match(data, '') tmdb.set_infoLabels(itemlist, __modo_grafico__) - if url_next_page: - itemlist.append(Item(channel=__channel__, action="series", - title="» Siguiente »", url=url_next_page)) + if item.page + 30 < len(matches): + itemlist.append(item.clone(page=item.page + 30, + title="» Siguiente »", text_color=color3)) + else: + next_page = scrapertools.find_single_match( + data, '') + + if next_page: + itemlist.append(item.clone(url=next_page, page=0, + title="» Siguiente »", text_color=color3)) return itemlist @@ -348,27 +382,32 @@ def episodios(item): return itemlist + def findvideos(item): logger.info() - from lib import generictools - import urllib import base64 itemlist = [] data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\(.*?\)|\s{2}| ", "", data) - patron = 'data-post="(\d+)" data-nume="(\d+)".*?img src=\'([^\']+)\'' + patron = "data-post='(\d+)' data-nume='(\d+)'.*?img src='([^']+)'>" matches = re.compile(patron, re.DOTALL).findall(data) for id, option, lang in matches: lang = scrapertools.find_single_match(lang, '.*?/flags/(.*?).png') - if lang == 'en': - lang = 'VOSE' - post = {'action': 'doo_player_ajax', 'post': id, 'nume': option, 'type':'movie'} + lang = lang.lower().strip() + idioma = {'mx': '[COLOR cornflowerblue](LAT)[/COLOR]', + 'es': '[COLOR green](CAST)[/COLOR]', + 'en': '[COLOR red](VOSE)[/COLOR]', + 'gb': '[COLOR red](VOSE)[/COLOR]'} + if lang in idioma: + lang = idioma[lang] + post = {'action': 'doo_player_ajax', 'post': id, 'nume': option, 'type': 'movie'} post = urllib.urlencode(post) test_url = '%swp-admin/admin-ajax.php' % host - new_data = httptools.downloadpage(test_url, post=post, headers={'Referer':item.url}).data + new_data = httptools.downloadpage(test_url, post=post, headers={'Referer': item.url}).data hidden_url = scrapertools.find_single_match(new_data, "src='([^']+)'") new_data = httptools.downloadpage(hidden_url, follow_redirects=False) + try: b64_url = scrapertools.find_single_match(new_data.headers['location'], "y=(.*)") url = base64.b64decode(b64_url) @@ -376,10 +415,11 @@ def findvideos(item): url = hidden_url if url != '': itemlist.append( - Item(channel=item.channel, url=url, title='%s', action='play', language=lang, - infoLabels=item.infoLabels)) + Item(channel=item.channel, action='play', language=lang, infoLabels=item.infoLabels, + url=url, title='Ver en: ' + '[COLOR yellowgreen]%s [/COLOR]' + lang)) itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % x.server.capitalize()) + itemlist.sort(key=lambda it: it.language, reverse=False) if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'episodios': itemlist.append(Item(channel=__channel__, url=item.url, action="add_pelicula_to_library", extra="findvideos", diff --git a/plugin.video.alfa/channels/ciberpeliculashd.py b/plugin.video.alfa/channels/ciberpeliculashd.py index 01184f6a..6921dd39 100644 --- a/plugin.video.alfa/channels/ciberpeliculashd.py +++ b/plugin.video.alfa/channels/ciberpeliculashd.py @@ -232,11 +232,11 @@ def findvideos(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data - url = scrapertools.find_single_match(data, 'iframe-.*?src="([^"]+)') - data = httptools.downloadpage(url).data - patron = '
  • (.*?)
  • ' + matches = re.compile(patron,re.DOTALL).findall(data) + scrapertools.printMatches(matches) + for scrapedurl,scrapedtitle in matches: + scrapedplot = "" + scrapedthumbnail = "" + scrapedtitle = str(scrapedtitle) + scrapedurl = host + scrapedurl + thumbnail = urlparse.urljoin(item.url,scrapedthumbnail) + itemlist.append( Item(channel=item.channel, action="peliculas", title=scrapedtitle , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) + return itemlist + + +def peliculas(item): + logger.info() + itemlist = [] + data = httptools.downloadpage(item.url).data + patron = '
    .*?(.*?)
    ' + matches = re.compile(patron,re.DOTALL).findall(data) + scrapertools.printMatches(matches) + for scrapedurl,scrapedtitle,scrapedthumbnail,scrapedtime in matches: + title = "[COLOR yellow]" + scrapedtime + "[/COLOR] " + scrapedtitle + scrapedthumbnail = urlparse.urljoin(item.url,scrapedthumbnail) + scrapedplot = "" + itemlist.append( Item(channel=item.channel, action="play", title=title , url=scrapedurl , thumbnail=scrapedthumbnail , plot=scrapedplot , folder=True) ) + next_page_url = scrapertools.find_single_match(data,'Next') + if next_page_url!="": + next_page_url = urlparse.urljoin(item.url,next_page_url) + itemlist.append( Item(channel=item.channel , action="peliculas" , title="Página Siguiente >>" , text_color="blue", url=next_page_url , folder=True) ) + return itemlist + + +def play(item): + logger.info() + data = scrapertools.cachePage(item.url) + url = scrapertools.find_single_match(data,'