diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index 3633fab3..e2f84b33 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@ - + @@ -19,16 +19,17 @@ [B]Estos son los cambios para esta versión:[/B] [COLOR green][B]Arreglos[/B][/COLOR] - ¤ anitoons ¤ rexpelis ¤ bitertv - ¤ fembed ¤ animeflv ¤ canalpelis - ¤ dilo ¤ fanpelis ¤ pelisplus - ¤ pelisr ¤ retroseries ¤ datoporn - ¤ newpct1 ¤ subtorrents ¤ sleazemovies + ¤ PoseidonHD ¤ TuPelicula ¤ SeriesLan + ¤ danimados ¤ pelisgratis ¤ rexpelis + ¤ sipeliculas ¤ yape ¤ DivxTotal + ¤ EliteTorrent ¤ GranTorrent ¤ Newpct1 + ¤ pelispedia ¤ pepecine ¤ cuevana2 + ¤ cuevana2español [COLOR green][B]Novedades[/B][/COLOR] - ¤ tupelicula + ¤ AnimeBoom ¤ SeriesMetro ¤ Pack canales +18 - ¤ Agradecimientos a @sculkurt por colaborar en ésta versión + Agradecimientos a @mrgaturus y @paeznet por colaborar en é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/alfavorites.py b/plugin.video.alfa/channels/alfavorites.py index 7d3709ca..c52a1182 100644 --- a/plugin.video.alfa/channels/alfavorites.py +++ b/plugin.video.alfa/channels/alfavorites.py @@ -81,6 +81,11 @@ def addFavourite(item): platformtools.dialog_notification('Enlace repetido', 'Ya tienes este enlace en la carpeta') return False + # Si es una película, completar información de tmdb si no se tiene activado tmdb_plus_info + if item.contentType == 'movie' and not config.get_setting('tmdb_plus_info', default=False): + from core import tmdb + tmdb.set_infoLabels(item, True) # obtener más datos en "segunda pasada" (actores, duración, ...) + # Guardar alfav.user_favorites[i_perfil]['items'].append(item.tourl()) alfav.save() diff --git a/plugin.video.alfa/channels/animeboom.json b/plugin.video.alfa/channels/animeboom.json new file mode 100644 index 00000000..c4924af6 --- /dev/null +++ b/plugin.video.alfa/channels/animeboom.json @@ -0,0 +1,53 @@ +{ + "id": "animeboom", + "name": "AnimeBoom", + "active": true, + "adult": false, + "language": ["cast", "lat"], + "thumbnail": "https://animeboom.net/images/logo.png", + "banner": "", + "categories": [ + "anime", + "vos" + ], + "settings": [ + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": false, + "enabled": false, + "visible": false + }, + { + "id": "filter_languages", + "type": "list", + "label": "Mostrar enlaces en idioma...", + "default": 0, + "enabled": true, + "visible": true, + "lvalues": [ + "No filtrar", + "LAT", + "VOSE" + ] + }, + { + "id": "comprueba_enlaces_num", + "type": "list", + "label": "Número de enlaces a verificar", + "default": 1, + "enabled": true, + "visible": "eq(-1,true)", + "lvalues": [ "5", "10", "15", "20" ] + }, + { + "id": "include_in_newest_anime", + "type": "bool", + "label": "Incluir en Novedades - Episodios de anime", + "default": true, + "enabled": true, + "visible": true + } + ] +} diff --git a/plugin.video.alfa/channels/animeboom.py b/plugin.video.alfa/channels/animeboom.py new file mode 100644 index 00000000..6efc3116 --- /dev/null +++ b/plugin.video.alfa/channels/animeboom.py @@ -0,0 +1,281 @@ +# -*- coding: utf-8 -*- +# -*- Channel AnimeBoom -*- +# -*- Created for Alfa-addon -*- +# -*- By the Alfa Develop Group -*- + +import re +import urllib + +from core import httptools +from core import scrapertools +from core import servertools +from channelselector import get_thumb +from core import tmdb +from core.item import Item +from platformcode import logger, config +from channels import autoplay +from channels import filtertools + + +host = "https://animeboom.net/" + +__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'animeboom') +__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'animeboom') + +IDIOMAS = {'Latino':'LAT', 'VOSE': 'VOSE'} +list_language = IDIOMAS.values() +list_quality = [] +list_servers = ['directo', 'openload', 'streamango'] + + +def mainlist(item): + logger.info() + + autoplay.init(item.channel, list_servers, list_quality) + + itemlist = [] + + itemlist.append(Item(channel=item.channel, title="Nuevos Episodios", + action="new_episodes", + thumbnail=get_thumb('new_episodes', auto=True), + url=host)) + + itemlist.append(Item(channel=item.channel, title="Ultimas", + action="list_all", + thumbnail=get_thumb('last', auto=True), + url=host + 'emision')) + + itemlist.append(Item(channel=item.channel, title="Todas", + action="list_all", + thumbnail=get_thumb('all', auto=True), + url=host + 'series')) + + itemlist.append(Item(channel=item.channel, title="Series", + action="list_all", + thumbnail=get_thumb('tvshows', auto=True), + url=host + 'tv')) + + itemlist.append(Item(channel=item.channel, title="Películas", + action="list_all", + thumbnail=get_thumb('movies', auto=True), + url=host + 'peliculas')) + + itemlist.append(Item(channel=item.channel, title="OVAs", + action="list_all", + thumbnail='', + url=host + 'ova')) + + itemlist.append(Item(channel=item.channel, title="ONAs", + action="list_all", + thumbnail='', + url=host + 'ona')) + + + itemlist.append(Item(channel=item.channel, title="Especiales", + action="list_all", + thumbnail='', + url=host + '/specials')) + + itemlist.append(Item(channel=item.channel, title="Buscar", + action="search", + url=host + 'search?s=', + thumbnail=get_thumb('search', auto=True), + fanart='https://s30.postimg.cc/pei7txpa9/buscar.png' + )) + + autoplay.show_option(item.channel, itemlist) + + return itemlist + + +def get_source(url): + logger.info() + data = httptools.downloadpage(url).data + data = re.sub(r'\n|\r|\t| |
|\s{2,}', "", data) + return data + + +def list_all(item): + logger.info() + + itemlist = [] + + data = get_source(item.url) + patron = '
' + patron += '([^.*?class="year">(\d{4})<' + matches = re.compile(patron, re.DOTALL).findall(data) + + for type, scrapedurl, scrapedthumbnail, scrapedtitle, year in matches: + url = scrapedurl + thumbnail = scrapedthumbnail + if 'latino' in scrapedtitle.lower(): + lang = 'Latino' + else: + lang = 'VOSE' + title = re.sub('Audio Latino', '', scrapedtitle) + itemlist.append(Item(channel=item.channel, action='episodios', + title=title, + url=url, + thumbnail=thumbnail, + contentSerieName=title, + language = lang, + infoLabels={'year':year} + )) + + # Paginacion + next_page = scrapertools.find_single_match(data, + '') + next_page_url = scrapertools.decodeHtmlentities(next_page) + + if next_page_url != "": + itemlist.append(Item(channel=item.channel, + action="list_all", + title=">> Página siguiente", + url=next_page_url, + thumbnail='https://s16.postimg.cc/9okdu7hhx/siguiente.png' + )) + tmdb.set_infoLabels(itemlist, seekTmdb=True) + return itemlist + + +def search_results(item): + logger.info() + + itemlist=[] + + full_data = get_source(item.url) + data = scrapertools.find_single_match(full_data, '
(.*?)Episodios Estreno(.*?)') + patron = '([^' + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, scrapedthumbnail, scrapedtitle in matches: + url = scrapedurl + if 'latino' in scrapedtitle.lower(): + lang = 'Latino' + else: + lang = 'VOSE' + title = re.sub('sub|Sub|Español|español|Audio|Latino|audio|latino','', scrapedtitle) + itemlist.append(Item(channel=item.channel, title=title, url=url, thumbnail=scrapedthumbnail, + action='findvideos', language=lang)) + + return itemlist + +def episodios(item): + logger.info() + itemlist = [] + + full_data = get_source(item.url) + data = scrapertools.find_single_match(full_data, '
    (.*?)
') + patron = '
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", contentSerieName=item.contentSerieName, + extra1='library')) + + return itemlist + + +def findvideos(item): + logger.info() + + itemlist = [] + + data = get_source(item.url) + #return + patron = 'video\[\d+\] = \'