diff --git a/mediaserver/platformcode/launcher.py b/mediaserver/platformcode/launcher.py index 9f223346..a411442c 100644 --- a/mediaserver/platformcode/launcher.py +++ b/mediaserver/platformcode/launcher.py @@ -35,7 +35,7 @@ def run(item): if item.action == "mainlist": # Parental control if channeltools.is_adult(item.channel) and config.get_setting("adult_request_password"): - tecleado = platformtools.dialog_input("", "Contraseña para canales de adultos", True) + tecleado = platformtools.dialog_input("", config.get_localized_string(60334), True) if tecleado is None or tecleado != config.get_setting("adult_password"): platformtools.render_items(None, item) return diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index b44f5691..2e32e1e8 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@ - + @@ -10,7 +10,7 @@ Navega con Kodi por páginas web. - icon.png + logo-cumple.png fanart.jpg resources/media/themes/ss/1.jpg resources/media/themes/ss/2.jpg @@ -19,13 +19,10 @@ [B]Estos son los cambios para esta versión:[/B] [COLOR green][B]Canales agregados y arreglos[/B][/COLOR] - ¤ doomtv ¤ locopelis - ¤ veseriesonline ¤ hdfull - ¤ flashx ¤ powvideo - ¤ vidoza ¤ alltorrent - ¤ elitetorrent ¤ grantorrent - ¤ mejortorrent ¤ newpct1 - ¤ poseidonhd + ¤ goovie ¤ retroseriestv + ¤ pelisr ¤ planetadocumental + ¤ mejortorrent ¤ alltorrent + ¤ veseriesonline ¤ seriesblanco ¤ arreglos internos diff --git a/plugin.video.alfa/channels/alltorrent.py b/plugin.video.alfa/channels/alltorrent.py index 505f5059..d982c347 100755 --- a/plugin.video.alfa/channels/alltorrent.py +++ b/plugin.video.alfa/channels/alltorrent.py @@ -61,10 +61,12 @@ def listado(item): except: pass - if not data: #Si la web está caída salimos sin dar error + if not data and item.extra != "año": #Si la web está caída salimos sin dar error logger.error("ERROR 01: LISTADO: La Web no responde o ha cambiado de URL: " + item.url + " / DATA: " + data) itemlist.append(item.clone(action='', title=item.channel.capitalize() + ': ERROR 01: LISTADO:. La Web no responde o ha cambiado de URL. Si la Web está activa, reportar el error con el log')) return itemlist #si no hay más datos, algo no funciona, pintamos lo que tenemos + elif not data and item.extra == "año": #cuando no hay datos para un año, da error. Tratamos de evitar el error + return itemlist patron = '
([^"]+)<\/a>\s?<\/div>
(.*?)<\/div><\/div><\/div>' #data = scrapertools.find_single_match(data, patron) @@ -222,6 +224,9 @@ def findvideos(item): #Ahora tratamos el servidor directo item_local = item.clone() servidor = 'openload' + item_local.quality = '' + if item.infoLabels['duration']: + item_local.quality = scrapertools.find_single_match(item.quality, '(\s\[.*?\])') #Copiamos la duración enlace = scrapertools.find_single_match(data, 'button-green-download-big".*?href="([^"]+)">') if enlace: try: @@ -283,6 +288,7 @@ def newest(categoria): if categoria == 'torrent': item.url = host item.extra = "peliculas" + item.channel = "alltorrents" itemlist = listado(item) if itemlist[-1].title == "Página siguiente >>": diff --git a/plugin.video.alfa/channels/goovie.json b/plugin.video.alfa/channels/goovie.json new file mode 100644 index 00000000..1825251d --- /dev/null +++ b/plugin.video.alfa/channels/goovie.json @@ -0,0 +1,79 @@ +{ +"id": "goovie", + "name": "Goovie", + "active": true, + "adult": false, + "language": ["cast", "lat"], + "thumbnail": "https://s15.postimg.cc/n9wp4nnzv/goovie.png", + "banner": "", + "categories": [ + "movie", + "tvshow" + ], + "settings": [ + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "filter_languages", + "type": "list", + "label": "Mostrar enlaces en idioma...", + "default": 0, + "enabled": true, + "visible": true, + "lvalues": [ + "No filtrar", + "Latino", + "Castellano", + "VOSE", + "VO" + ] + }, + { + "id": "include_in_newest_peliculas", + "type": "bool", + "label": "Incluir en Novedades - Peliculas", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_newest_infantiles", + "type": "bool", + "label": "Incluir en Novedades - Infantiles", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_newest_terror", + "type": "bool", + "label": "Incluir en Novedades - terror", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "comprueba_enlaces", + "type": "bool", + "label": "Verificar si los enlaces existen", + "default": false, + "enabled": true, + "visible": true + }, + { + "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" ] + } + ] +} diff --git a/plugin.video.alfa/channels/goovie.py b/plugin.video.alfa/channels/goovie.py new file mode 100644 index 00000000..2948cf73 --- /dev/null +++ b/plugin.video.alfa/channels/goovie.py @@ -0,0 +1,329 @@ +# -*- coding: utf-8 -*- +# -*- Channel Goovie -*- +# -*- Created for Alfa-addon -*- +# -*- By the Alfa Develop Group -*- + +import re +import urllib +from channelselector import get_thumb +from core import httptools +from core import jsontools +from core import scrapertools +from core import servertools +from core import tmdb +from core.item import Item +from channels import filtertools +from channels import autoplay +from platformcode import config, logger + + +IDIOMAS = {'1':'Cast', '2':'Lat', '3':'VOSE', '4':'VO'} +list_language = IDIOMAS.values() + +CALIDADES = {'1':'1080','2':'720','3':'480','4':'360'} + +list_quality = ['1080', '720', '480', '360'] + +list_servers = [ + 'powvideo' +] + +__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'goovie') +__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'goovie') + +host = 'https://goovie.co/' + +def mainlist(item): + logger.info() + + autoplay.init(item.channel, list_servers, list_quality) + + itemlist = [] + + itemlist.append(Item(channel=item.channel, title='Peliculas', action='sub_menu', type='peliculas', + thumbnail= get_thumb('movies', auto=True))) + itemlist.append(Item(channel=item.channel, title='Series', action='sub_menu', type='series', + thumbnail= get_thumb('tvshows', auto=True))) + itemlist.append( + item.clone(title="Buscar", action="search", url=host + 'search?go=', thumbnail=get_thumb("search", auto=True), + extra='movie')) + + autoplay.show_option(item.channel, itemlist) + + return itemlist + +def sub_menu(item): + logger.info() + + itemlist=[] + + itemlist.append(Item(channel=item.channel, title='Todas', url=host + item.type, action='list_all', + thumbnail=get_thumb('all', auto=True), type=item.type)) + itemlist.append(Item(channel=item.channel, title='Genero', action='section', + thumbnail=get_thumb('genres', auto=True), type=item.type)) + itemlist.append(Item(channel=item.channel, title='Por Año', action='section', + thumbnail=get_thumb('year', auto=True), type=item.type)) + + 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 get_language(lang_data): + logger.info() + language = [] + + lang_list = scrapertools.find_multiple_matches(lang_data, '/flags/(.*?).png\)') + for lang in lang_list: + if lang == 'en': + lang = 'vose' + if lang not in language: + language.append(lang) + return language + +def section(item): + logger.info() + itemlist=[] + data = get_source(host+item.type) + + if 'Genero' in item.title: + data = scrapertools.find_single_match(data, 'genero.*?') + elif 'Año' in item.title: + data = scrapertools.find_single_match(data, 'año.*?') + patron = '
(.*?)' + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, scrapedtitle in matches: + title = scrapedtitle + itemlist.append(Item(channel=item.channel, url=scrapedurl, title=title, action='list_all', + type=item.type)) + return itemlist + + +def list_all(item): + logger.info() + itemlist = [] + + data = get_source(item.url) + #logger.debug(data) + #return + if item.type == 'peliculas': + patron = '
.*?.*?

(.*?)

.*?' + patron += "

(.*?)

(\d{4}) /.*?.*?'(\d+)'" + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedthumbnail, scrapedurl, scrapedtitle, scrapedplot, year, video_id in matches: + + title = '%s [%s]' % (scrapedtitle, year) + contentTitle = scrapedtitle + thumbnail = scrapedthumbnail + url = scrapedurl + + itemlist.append(item.clone(action='findvideos', + title=title, + url=url, + thumbnail=thumbnail, + contentTitle=contentTitle, + video_id=video_id, + infoLabels={'year':year})) + + elif item.type == 'series': + patron = '
.*?.*?.*?' + patron +='

(.*?)

(.*?)

(\d{4}) /' + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedplot, year in matches: + title = scrapedtitle + contentSerieName = scrapedtitle + thumbnail = scrapedthumbnail + url = scrapedurl + + itemlist.append(item.clone(action='seasons', + title=title, + url=url, + thumbnail=thumbnail, + plot=scrapedplot, + contentSerieName=contentSerieName, + infoLabels={'year':year})) + + tmdb.set_infoLabels(itemlist, seekTmdb=True) + # Paginación + + url_next_page = scrapertools.find_single_match(data,"") + if url_next_page: + itemlist.append(item.clone(title="Siguiente >>", url=url_next_page, action='list_all')) + + return itemlist + +def seasons(item): + logger.info() + + itemlist=[] + + data=get_source(item.url) + patron='
' + matches = re.compile(patron, re.DOTALL).findall(data) + + infoLabels = item.infoLabels + for season in matches: + season = season.lower().replace('temporada','') + infoLabels['season']=season + title = 'Temporada %s' % season + itemlist.append(Item(channel=item.channel, title=title, url=item.url, action='episodesxseasons', + infoLabels=infoLabels)) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + + if config.get_videolibrary_support() and len(itemlist) > 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)) + + return itemlist + +def episodios(item): + logger.info() + itemlist = [] + templist = seasons(item) + for tempitem in templist: + itemlist += episodesxseasons(tempitem) + + return itemlist + +def episodesxseasons(item): + logger.info() + + itemlist = [] + + data=get_source(item.url) + logger.debug(data) + patron= "ViewEpisode\('(\d+)', this\)>
%s - (\d+)
" % item.infoLabels['season'] + patron += ".*?src=(.*?) />.*?namep>(.*?)" + + matches = re.compile(patron, re.DOTALL).findall(data) + + infoLabels = item.infoLabels + + for video_id, scrapedepisode, scrapedthumbnail, scrapedtitle in matches: + + infoLabels['episode'] = scrapedepisode + title = '%sx%s - %s' % (infoLabels['season'], infoLabels['episode'], scrapedtitle) + + itemlist.append(Item(channel=item.channel, title= title, url=item.url, thumbnail=scrapedthumbnail, + action='findvideos', video_id=video_id, infoLabels=infoLabels)) + + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + + return itemlist + + +def findvideos(item): + logger.info() + from lib import jsunpack + itemlist = [] + headers = {'referer':item.url} + if item.video_id == '': + find_id = get_source(item.url) + #logger.debug(find_id) + #return + item.video_id = scrapertools.find_single_match(find_id, 'var centerClick = (\d+);') + url = 'https://goovie.co/api/links/%s' % item.video_id + data = httptools.downloadpage(url, headers=headers).data + video_list = jsontools.load(data) + for video_info in video_list: + logger.debug(video_info) + url = video_info['visor'] + plot = 'idioma: %s calidad: %s' % (video_info['idioma'], video_info['calidad']) + data = httptools.downloadpage(url, headers=headers, follow_redirects=False).data + data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) + packed = scrapertools.find_single_match(data, '(eval\(.*?);var') + unpacked = jsunpack.unpack(packed) + logger.debug('unpacked %s' % unpacked) + server = scrapertools.find_single_match(unpacked, "src:.'(http://\D+)/") + id = scrapertools.find_single_match(unpacked, "src:.'http://\D+/.*?description:.'(.*?).'") + if server == '': + if 'powvideo' in unpacked: + id = scrapertools.find_single_match(unpacked ,",description:.'(.*?).'") + server= 'https://powvideo.net' + url = '%s/%s' % (server, id) + if server != '' and id != '': + language = IDIOMAS[video_info['idioma']] + quality = CALIDADES[video_info['calidad']] + title = ' [%s] [%s]' % (language, quality) + itemlist.append(Item(channel=item.channel, title='%s'+title, url=url, action='play', language=language, + quality=quality)) + + itmelist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) + return sorted(itemlist, key=lambda i: i.language) + + +def search(item, texto): + logger.info() + texto = texto.replace(" ", "+") + item.url = item.url + texto + item.type = 'peliculas' + if texto != '': + return search_results(item) + else: + return [] + +def search_results(item): + logger.info() + + itemlist=[] + + data=get_source(item.url) + logger.debug(data) + patron = '
.*?href=(.*?)>.*?typeContent>(.*?)<.*?' + patron += '.*?

(.*?)

(.*?)

(\d{4})<' + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, content_type ,scrapedthumb, scrapedtitle, scrapedplot, year in matches: + + title = scrapedtitle + url = scrapedurl + thumbnail = scrapedthumb + plot = scrapedplot + if content_type != 'Serie': + action = 'findvideos' + else: + action = 'seasons' + + new_item=Item(channel=item.channel, title=title, url=url, thumbnail=thumbnail, plot=plot, + action=action, type=content_type, infoLabels={'year':year}) + if new_item.action == 'findvideos': + new_item.contentTitle = new_item.title + else: + new_item.contentSerieName = new_item.title + + itemlist.append(new_item) + + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + + return itemlist + +def newest(categoria): + logger.info() + itemlist = [] + item = Item() + try: + if categoria in ['peliculas']: + item.url = host + 'peliculas' + elif categoria == 'infantiles': + item.url = host + 'peliculas/generos/animación' + elif categoria == 'terror': + item.url = host + 'peliculas/generos/terror' + item.type='peliculas' + itemlist = list_all(item) + if itemlist[-1].title == 'Siguiente >>': + itemlist.pop() + except: + import sys + for line in sys.exc_info(): + logger.error("{0}".format(line)) + return [] + + return itemlist diff --git a/plugin.video.alfa/channels/mejortorrent.json b/plugin.video.alfa/channels/mejortorrent.json index 7cc93f83..aab7f041 100755 --- a/plugin.video.alfa/channels/mejortorrent.json +++ b/plugin.video.alfa/channels/mejortorrent.json @@ -1,65 +1,65 @@ -{ - "id": "mejortorrent", - "name": "Mejor Torrent", - "active": true, - "adult": false, - "language": ["*"], - "thumbnail": "thumb_intervenido_pn.jpeg", - "banner": "mejortorrent.png", - "categories": [ - "torrent", - "movie", - "tvshow", - "documentary" - ], - "settings": [ - { - "default": "http://www.mejortorrent.com/", - "enabled": true, - "id": "domain_name", - "label": "URL actual de la Web Mejor Torrent", - "type": "text", - "visible": true - }, - { - "default": true, - "enabled": true, - "id": "include_in_global_search", - "label": "Incluir en busqueda global", - "type": "bool", - "visible": true - }, - { - "default": true, - "enabled": true, - "id": "modo_grafico", - "label": "Buscar información extra (TMDB)", - "type": "bool", - "visible": true - }, - { - "default": true, - "enabled": true, - "id": "seleccionar_ult_temporadda_activa", - "label": "Seleccionar para Videoteca si estará activa solo la última Temporada", - "type": "bool", - "visible": true - }, - { - "default": true, - "enabled": true, - "id": "include_in_newest_peliculas", - "label": "Incluir en Novedades - Peliculas", - "type": "bool", - "visible": true - }, - { - "default": true, - "enabled": true, - "id": "include_in_newest_documentales", - "label": "Incluir en Novedades - Documentales", - "type": "bool", - "visible": true - } - ] +{ + "id": "mejortorrent", + "name": "Mejor Torrent", + "active": true, + "adult": false, + "language": ["*"], + "thumbnail": "mejortorrent.png", + "banner": "mejortorrent.png", + "categories": [ + "torrent", + "movie", + "tvshow", + "documentary" + ], + "settings": [ + { + "id": "domain_name", + "type": "text", + "label": "URL actual de la Web Mejor Torrent", + "default": "http://www.mejortorrent.com/", + "enabled": true, + "visible": true + }, + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": false, + "enabled": true, + "visible": true + }, + { + "id": "modo_grafico", + "type": "bool", + "label": "Buscar información extra (TMDB)", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "seleccionar_ult_temporadda_activa", + "type": "bool", + "label": "Seleccionar para Videoteca si estará activa solo la última Temporada", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_newest_peliculas", + "type": "bool", + "label": "Incluir en Novedades - Peliculas", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_newest_documentales", + "type": "bool", + "label": "Incluir en Novedades - Documentales", + "default": true, + "enabled": true, + "visible": true + } + ] } \ No newline at end of file diff --git a/plugin.video.alfa/channels/pelisr.json b/plugin.video.alfa/channels/pelisr.json new file mode 100644 index 00000000..92257e9e --- /dev/null +++ b/plugin.video.alfa/channels/pelisr.json @@ -0,0 +1,79 @@ +{ +"id": "pelisr", + "name": "PelisR", + "active": true, + "adult": false, + "language": ["lat", "cast", "vose"], + "thumbnail": "https://s22.postimg.cc/gcp2jqbs1/pelisr.png", + "banner": "", + "categories": [ + "movie", + "tvshow", + "direct" + ], + "settings": [ + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "filter_languages", + "type": "list", + "label": "Mostrar enlaces en idioma...", + "default": 0, + "enabled": true, + "visible": true, + "lvalues": [ + "No filtrar", + "Latino", + "Castellano", + "VOSE" + ] + }, + { + "id": "include_in_newest_peliculas", + "type": "bool", + "label": "Incluir en Novedades - Peliculas", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_newest_infantiles", + "type": "bool", + "label": "Incluir en Novedades - Infantiles", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_newest_terror", + "type": "bool", + "label": "Incluir en Novedades - terror", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "comprueba_enlaces", + "type": "bool", + "label": "Verificar si los enlaces existen", + "default": false, + "enabled": true, + "visible": true + }, + { + "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" ] + } + ] +} diff --git a/plugin.video.alfa/channels/pelisr.py b/plugin.video.alfa/channels/pelisr.py new file mode 100644 index 00000000..7d826449 --- /dev/null +++ b/plugin.video.alfa/channels/pelisr.py @@ -0,0 +1,366 @@ +# -*- coding: utf-8 -*- +# -*- Channel PoseidonHD -*- +# -*- Created for Alfa-addon -*- +# -*- By the Alfa Develop Group -*- + +import re +import urllib +import base64 + +from channelselector import get_thumb +from core import httptools +from core import jsontools +from core import scrapertools +from core import servertools +from core import tmdb +from lib import jsunpack +from core.item import Item +from channels import filtertools +from channels import autoplay +from platformcode import config, logger + + +IDIOMAS = {'mx': 'Latino', 'dk':'Latino', 'es': 'Castellano', 'en': 'VOSE', 'gb':'VOSE'} +list_language = IDIOMAS.values() + +list_quality = ['360P', '480P', '720P', '1080P'] + +list_servers = [ + 'directo', + 'openload', + 'rapidvideo' +] + +__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'poseidonhd') +__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'poseidonhd') + +host = 'https://pelisr.com/' + +def mainlist(item): + logger.info() + + autoplay.init(item.channel, list_servers, list_quality) + + itemlist = [] + + itemlist.append(Item(channel=item.channel, title='Peliculas', action='menu_movies', + thumbnail= get_thumb('movies', auto=True))) + itemlist.append(Item(channel=item.channel, title='Series', url=host+'tvshows', action='list_all', type='tvshows', + thumbnail= get_thumb('tvshows', auto=True))) + itemlist.append( + item.clone(title="Buscar", action="search", url=host + '?s=', thumbnail=get_thumb("search", auto=True), + extra='movie')) + + autoplay.show_option(item.channel, itemlist) + + return itemlist + +def menu_movies(item): + logger.info() + + itemlist=[] + + itemlist.append(Item(channel=item.channel, title='Todas', url=host + 'movies', action='list_all', + thumbnail=get_thumb('all', auto=True), type='movies')) + itemlist.append(Item(channel=item.channel, title='Genero', action='section', + thumbnail=get_thumb('genres', auto=True), type='movies')) + itemlist.append(Item(channel=item.channel, title='Por Año', action='section', + thumbnail=get_thumb('year', auto=True), type='movies')) + + 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 get_language(lang_data): + logger.info() + language = [] + logger.debug(lang_data) + lang_list = scrapertools.find_multiple_matches(lang_data, '/flags/(.*?).png\)') + for lang in lang_list: + if lang == 'en': + lang = 'vose' + if lang not in language: + language.append(lang) + return language + +def section(item): + logger.info() + itemlist=[] + duplicados=[] + data = get_source(host+'/'+item.type) + if 'Genero' in item.title: + patron = '
  • (.*?)/i>' + elif 'Año' in item.title: + patron = '
  • (.*?)' + elif 'Calidad' in item.title: + patron = 'menu-item-object-dtquality menu-item-\d+>(.*?)' + + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, scrapedtitle in matches: + title = scrapedtitle + plot='' + if 'Genero' in item.title: + quantity = scrapertools.find_single_match(scrapedtitle,' (.*?)<') + title = scrapertools.find_single_match(scrapedtitle,'(.*?)
    (.*?).*?quality>(.*?)' + patron += '<\/div>.*?<\/h3>(.*?)<\/span><\/div>.*?flags(.*?)metadata' + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedthumbnail, scrapedtitle, quality, scrapedurl, year, lang_data in matches: + + + title = '%s [%s] [%s]' % (scrapedtitle, year, quality) + contentTitle = scrapedtitle + thumbnail = scrapedthumbnail + url = scrapedurl + language = get_language(lang_data) + + itemlist.append(item.clone(action='findvideos', + title=title, + url=url, + thumbnail=thumbnail, + contentTitle=contentTitle, + language=language, + quality=quality, + infoLabels={'year':year})) + + elif item.type == 'tvshows': + patron = '
    (.*?).*?' + patron += '.*?<\/h3>(.*?)<\/span><\/div>' + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedthumbnail, scrapedtitle, scrapedurl, year in matches: + title = scrapedtitle + contentSerieName = scrapedtitle + thumbnail = scrapedthumbnail + url = scrapedurl + + itemlist.append(item.clone(action='seasons', + title=title, + url=url, + thumbnail=thumbnail, + contentSerieName=contentSerieName, + infoLabels={'year':year})) + + tmdb.set_infoLabels(itemlist, seekTmdb=True) + # Paginación + + #url_next_page = scrapertools.find_single_match(data,"]+)>