From 8b2c70a20bfc8a4ba217fbf348247c424392c943 Mon Sep 17 00:00:00 2001 From: t1254362 Date: Mon, 26 Mar 2018 14:06:21 +0200 Subject: [PATCH 1/9] Arreglar nombres rotos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hay títulos que están cortados incluso después del último update. Podéis verlo en estos momentos en la sección "Películas HD", en la segunda página está "los últimos Jed" en vez de Jedi. He visto que el los replace quitan los espacios haciendo que quede: "Jedigratis" y tras quitarlos se ha arreglado y no veo que nada se rompa, al menos en un primer vistazo. A lo mejor hay algún caso que aun no he visto (igual que supongo que no se vió el caso este de los Jedigratis que acaba en Jed), pero ya digo, he ido dando por algunas secciones y parece seguir funcionado. Lo pongo en un parche independiente por eso mismo, por si se quiere probar o algo --- plugin.video.alfa/channels/descargas2020.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin.video.alfa/channels/descargas2020.py b/plugin.video.alfa/channels/descargas2020.py index 3c9afa23..b880e57f 100644 --- a/plugin.video.alfa/channels/descargas2020.py +++ b/plugin.video.alfa/channels/descargas2020.py @@ -91,7 +91,7 @@ def listado(item): itemlist = [] url_next_page ='' - data = re.sub(r"\n|\r|\t|\s{2}|()", "", httptools.downloadpage(item.url).data) + data = httptools.downloadpage(item.url).data data = unicode(data, "iso-8859-1", errors="replace").encode("utf-8") #logger.debug(data) logger.debug('item.modo: %s'%item.modo) From d3e119128a5bb630d209f7903c98beeb621752f4 Mon Sep 17 00:00:00 2001 From: t1254362 Date: Mon, 26 Mar 2018 14:07:47 +0200 Subject: [PATCH 2/9] =?UTF-8?q?A=C3=B1adir=20calidad=20entre=20corchetes?= =?UTF-8?q?=20y=20rename?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Añadir la calidad entre corchetes y renombrar el metodo oscuro listado2 por listado_busqueda --- plugin.video.alfa/channels/descargas2020.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugin.video.alfa/channels/descargas2020.py b/plugin.video.alfa/channels/descargas2020.py index 3c9afa23..8894a51b 100644 --- a/plugin.video.alfa/channels/descargas2020.py +++ b/plugin.video.alfa/channels/descargas2020.py @@ -26,7 +26,7 @@ def mainlist(item): itemlist.append(Item(channel=item.channel, action="submenu", title="Series", url=host, extra="series", thumbnail=thumb_series)) - + itemlist.append(Item(channel=item.channel, action="submenu", title="Documentales", url=host, extra="varios", thumbnail=thumb_series)) itemlist.append( @@ -55,12 +55,12 @@ def submenu(item): itemlist.append(Item(channel=item.channel, action="listado", title=title, url=url, extra="pelilist")) itemlist.append( Item(channel=item.channel, action="alfabeto", title=title + " [A-Z]", url=url, extra="pelilist")) - + if item.extra == "peliculas": itemlist.append(Item(channel=item.channel, action="listado", title="Películas 4K", url=host + "peliculas-hd/4kultrahd/", extra="pelilist")) itemlist.append( Item(channel=item.channel, action="alfabeto", title="Películas 4K" + " [A-Z]", url=host + "peliculas-hd/4kultrahd/", extra="pelilist")) - + return itemlist @@ -156,7 +156,7 @@ def listado(item): show = title if item.extra != "buscar-list": - title = title + ' ' + calidad + title = title + ' [' + calidad + "]" context = "" context_title = scrapertools.find_single_match(url, "http://(?:www.)?descargas2020.com/(.*?)/(.*?)/") @@ -193,7 +193,7 @@ def listado(item): extra = page_extra)) return itemlist -def listado2(item): +def listado_busqueda(item): logger.info() itemlist = [] data = re.sub(r"\n|\r|\t|\s{2,}", "", httptools.downloadpage(item.url, post=item.post).data) @@ -245,7 +245,7 @@ def listado2(item): context=["buscar_trailer"])) if post: - itemlist.append(item.clone(channel=item.channel, action="listado2", title=">> Página siguiente", + itemlist.append(item.clone(channel=item.channel, action="listado_busqueda", title=">> Página siguiente", thumbnail=get_thumb("next.png"))) return itemlist @@ -458,7 +458,7 @@ def search(item, texto): try: item.post = "q=%s" % texto item.pattern = "buscar-list" - itemlist = listado2(item) + itemlist = listado_busqueda(item) return itemlist From ffa3b2b785eb499d04cc79d905785c81052d59d4 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Wed, 28 Mar 2018 16:31:22 -0500 Subject: [PATCH 3/9] cinemahd: fix --- plugin.video.alfa/channels/cinemahd.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/plugin.video.alfa/channels/cinemahd.py b/plugin.video.alfa/channels/cinemahd.py index ce07e269..6d4d748d 100644 --- a/plugin.video.alfa/channels/cinemahd.py +++ b/plugin.video.alfa/channels/cinemahd.py @@ -4,6 +4,7 @@ # -*- By the Alfa Develop Group -*- import re +import urllib from channelselector import get_thumb from core import httptools from core import scrapertools @@ -58,17 +59,16 @@ def list_all(item): itemlist = [] data = get_source(item.url) - if item.section == 'alpha': patron = '\d+.*?(.*?).*?' - patron += '(\d{4}).*?Qlty>(.*?)' + patron += '(\d{4})' else: patron = '
.*?.*?'.*?\d+<.*?.*?(' - '.*?)'%option).split('-') - + scrapedurl = scrapedurl.replace('"','').replace('&','&') + data_video = get_source(scrapedurl) + url = scrapertools.find_single_match(data_video, '
.*?src=(.*?) frameborder') + opt_data = scrapertools.find_single_match(data,'%s>.*?.*?(.*?)'%option).split('-') language = opt_data[0].strip() quality = opt_data[1].strip() if url != '' and 'youtube' not in url: @@ -151,7 +150,10 @@ def findvideos(item): itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % '%s [%s] [%s]'%(i.server.capitalize(), i.language, i.quality)) - itemlist.append(trailer) + try: + itemlist.append(trailer) + except: + pass # Requerido para FilterTools itemlist = filtertools.get_links(itemlist, item, list_language) From 5080915be4abccf46f5e56af3346e9b1aac3ef96 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Wed, 28 Mar 2018 16:34:50 -0500 Subject: [PATCH 4/9] seriesdanko: fix --- plugin.video.alfa/channels/seriesdanko.py | 71 ++++++++++++++++++----- 1 file changed, 57 insertions(+), 14 deletions(-) diff --git a/plugin.video.alfa/channels/seriesdanko.py b/plugin.video.alfa/channels/seriesdanko.py index ac3c7a2b..858a1ae7 100644 --- a/plugin.video.alfa/channels/seriesdanko.py +++ b/plugin.video.alfa/channels/seriesdanko.py @@ -8,18 +8,24 @@ from core import httptools from core import scrapertools from core import servertools from core.item import Item +from core import tmdb +from channels import autoplay from platformcode import config, logger HOST = 'http://seriesdanko.to/' IDIOMAS = {'es': 'Español', 'la': 'Latino', 'vos': 'VOS', 'vo': 'VO'} list_idiomas = IDIOMAS.values() +list_servers = ['streamcloud', 'powvideo', 'gamovideo', 'streamplay', 'openload', 'flashx', 'nowvideo', 'thevideo'] CALIDADES = ['SD', 'MicroHD', 'HD/MKV'] + def mainlist(item): logger.info() + autoplay.init(item.channel, list_servers, CALIDADES) itemlist = list() + itemlist.append(Item(channel=item.channel, title="Novedades", action="novedades", url=HOST)) itemlist.append(Item(channel=item.channel, title="Más vistas", action="mas_vistas", url=HOST)) itemlist.append(Item(channel=item.channel, title="Listado Alfabético", action="listado_alfabetico", url=HOST)) @@ -27,7 +33,9 @@ def mainlist(item): itemlist.append(Item(channel=item.channel, title="Buscar...", action="search", url=urlparse.urljoin(HOST, "all.php"))) - itemlist = filtertools.show_option(itemlist, item.channel, list_idiomas, CALIDADES) + #itemlist = filtertools.show_option(itemlist, item.channel, list_idiomas, CALIDADES) + + autoplay.show_option(item.channel, itemlist) return itemlist @@ -40,7 +48,6 @@ def novedades(item): data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| |
|
|
|
|
|-\s", "", data) data = re.sub(r"", "", data) - logger.debug(data) patron = '
' patron += "|
|
|
|
|-\s", "", data) data = re.sub(r"", "", data) - patron = "
(.*?)
" data = scrapertools.get_match(data, patron) - - return series_seccion(item, data) + item.data = data + item.first = 0 + return series_seccion(item) def listado_completo(item): @@ -87,21 +94,37 @@ def listado_completo(item): data = re.sub(r"", "", data) patron = '
(.*?)
' data = scrapertools.get_match(data, patron) - - return series_seccion(item, data) + item.first = 0 + item.data = data + return series_seccion(item) -def series_seccion(item, data): +def series_seccion(item): logger.info() itemlist = [] + next_page = '' + data = item.data + data = data.replace('ahref', 'a href') patron = "
(.*?)" matches = re.compile(patron, re.DOTALL).findall(data) - for scrapedurl, scrapedtitle in matches: + if int(item.first)+20 < len(matches): + limit = int(item.first)+20 + next_page = limit + 1 + else: + limit = len(matches) + for scrapedurl, scrapedtitle in matches[item.first:limit]: itemlist.append(Item(channel=item.channel, action="episodios", title=scrapedtitle, show=scrapedtitle, url=urlparse.urljoin(HOST, scrapedurl), context=filtertools.context(item, list_idiomas, CALIDADES))) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + #pagination + + if next_page !='': + itemlist.append(Item(channel=item.channel, action="series_seccion", title='Siguiente >>>', data=item.data, + first=next_page)) + return itemlist @@ -117,6 +140,7 @@ def listado_alfabetico(item): return itemlist + def series_por_letra(item): logger.info("letra = {0}".format(item.title)) data = httptools.downloadpage(item.url).data @@ -142,6 +166,7 @@ def search(item, texto): itemlist.append(item.clone(title=title, url=urlparse.urljoin(HOST, url), action="episodios", show=title, context=filtertools.context(item, list_idiomas, CALIDADES))) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) # Se captura la excepción, para no interrumpir al buscador global si un canal falla except: import sys @@ -176,18 +201,27 @@ def episodios(item): patron = "(.*?)(.*?)" matches = re.compile(patron, re.DOTALL).findall(data) + infoLabels = item.infoLabels for scrapedurl, scrapedtitle, scrapedidioma in matches: idioma = "" filter_langs = [] for i in scrapedidioma.split("|"): idioma += " [" + IDIOMAS.get(i, "OVOS") + "]" filter_langs.append(IDIOMAS.get(i, "OVOS")) - title = scrapedtitle + idioma + season_episode = scrapertools.get_season_and_episode(scrapedtitle) + title = '%s %s %s' % (season_episode, scrapedtitle, idioma) + season_episode = season_episode.split('x') + infoLabels['season'] = season_episode[0] + infoLabels['episode'] = season_episode[1] + itemlist.append(Item(channel=item.channel, title=title, url=urlparse.urljoin(HOST, scrapedurl), - action="findvideos", show=item.show, thumbnail=thumbnail, plot="", language=filter_langs)) + action="findvideos", show=item.show, thumbnail=thumbnail, plot="", language=filter_langs, + infoLabels=infoLabels)) - itemlist = filtertools.get_links(itemlist, item, list_idiomas, CALIDADES) + + #itemlist = filtertools.get_links(itemlist, item, list_idiomas, CALIDADES) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) # Opción "Añadir esta serie a la videoteca de XBMC" if config.get_videolibrary_support() and len(itemlist) > 0: @@ -212,6 +246,14 @@ def findvideos(item): itemlist = filtertools.get_links(itemlist, item, list_idiomas, CALIDADES) + # Requerido para FilterTools + + itemlist = filtertools.get_links(itemlist, item, list_idiomas) + + # Requerido para AutoPlay + + autoplay.start(itemlist, item) + return itemlist @@ -227,6 +269,7 @@ def parse_videos(item, tipo, data): links = re.findall(pattern, data, re.MULTILINE | re.DOTALL) for language, date, server, link, quality in links: + if quality == "": quality = "SD" title = "%s en %s [%s] [%s] (%s)" % (tipo, server, IDIOMAS.get(language, "OVOS"), quality, date) @@ -243,8 +286,8 @@ def play(item): data = httptools.downloadpage(item.url).data data = re.sub(r"\n|\r|\t|\s{2}| |
|
|
|
|
|-\s", "", data) - - patron = '' + #patron = '' + patron = '' url = scrapertools.find_single_match(data, patron) itemlist = servertools.find_video_items(data=url) From f90b24bbac2250b5e883c56487285d1fc44d1fc0 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Wed, 28 Mar 2018 16:37:01 -0500 Subject: [PATCH 5/9] doramasmp4; nuevo canal --- plugin.video.alfa/channels/doramasmp4.json | 34 ++++ plugin.video.alfa/channels/doramasmp4.py | 222 +++++++++++++++++++++ 2 files changed, 256 insertions(+) create mode 100644 plugin.video.alfa/channels/doramasmp4.json create mode 100644 plugin.video.alfa/channels/doramasmp4.py diff --git a/plugin.video.alfa/channels/doramasmp4.json b/plugin.video.alfa/channels/doramasmp4.json new file mode 100644 index 00000000..c28e266f --- /dev/null +++ b/plugin.video.alfa/channels/doramasmp4.json @@ -0,0 +1,34 @@ +{ + "id": "doramasmp4", + "name": "DoramasMP4", + "active": true, + "adult": false, + "language": [], + "thumbnail": "https://s14.postimg.org/ibh4znkox/doramasmp4.png", + "banner": "", + "categories": [ + "tvshow" + ], + "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", + "VOSE" + ] + } + ] +} \ No newline at end of file diff --git a/plugin.video.alfa/channels/doramasmp4.py b/plugin.video.alfa/channels/doramasmp4.py new file mode 100644 index 00000000..5e8c7480 --- /dev/null +++ b/plugin.video.alfa/channels/doramasmp4.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- +# -*- Channel DoramasMP4 -*- +# -*- Created for Alfa-addon -*- +# -*- By the Alfa Develop Group -*- + +import re + +from channels import autoplay +from channels import filtertools +from core import httptools +from core import scrapertools +from core import servertools +from core import jsontools +from core import tmdb +from core.item import Item +from platformcode import config, logger +from channelselector import get_thumb + +host = 'https://www.doramasmp4.com/' + +IDIOMAS = {'sub': 'VOSE'} +list_language = IDIOMAS.values() +list_quality = [] +list_servers = ['openload', 'streamango', 'netutv', 'okru', 'directo', 'mp4upload'] + +def get_source(url): + logger.info() + data = httptools.downloadpage(url).data + data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) + return data + +def mainlist(item): + logger.info() + + autoplay.init(item.channel, list_servers, list_quality) + itemlist = [] + + itemlist.append(Item(channel= item.channel, title="Doramas", action="doramas_menu", + thumbnail=get_thumb('doramas', auto=True), type='dorama')) + itemlist.append(Item(channel=item.channel, title="Películas", action="list_all", + url=host + 'catalogue?type[]=pelicula', thumbnail=get_thumb('movies', auto=True), + type='movie')) + itemlist.append(Item(channel=item.channel, title = 'Buscar', action="search", url= host+'search?q=', + thumbnail=get_thumb('search', auto=True))) + + autoplay.show_option(item.channel, itemlist) + + return itemlist + +def doramas_menu(item): + logger.info() + + itemlist =[] + + itemlist.append(Item(channel=item.channel, title="Todas", action="list_all", url=host + 'catalogue', + thumbnail=get_thumb('all', auto=True), type='dorama')) + itemlist.append(Item(channel=item.channel, title="Nuevos capitulos", action="latest_episodes", + url=host + 'latest-episodes', thumbnail=get_thumb('new episodes', auto=True), type='dorama')) + return itemlist + +def list_all(item): + logger.info() + + itemlist = [] + data = get_source(item.url) + + patron = '
(.*?)' + patron += '
.*?episode>(.*?)' + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedep in matches: + title = '%s %s' % (scrapedtitle, scrapedep) + contentSerieName = scrapedtitle + itemlist.append(Item(channel=item.channel, action='findvideos', url=scrapedurl, thumbnail=scrapedthumbnail, + title=title, contentSerieName=contentSerieName, type='episode')) + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + + return itemlist + + +def episodes(item): + logger.info() + itemlist = [] + data = get_source(item.url) + patron = '' + + matches = re.compile(patron, re.DOTALL).findall(data) + infoLabels = item.infoLabels + + for scrapedurl, scrapedtitle, scrapedep in matches: + url = scrapedurl + contentEpisodeNumber = scrapedep + + infoLabels['season'] = 1 + infoLabels['episode'] = contentEpisodeNumber + + if scrapedtitle != '': + title = scrapedtitle + else: + title = 'episodio %s' % scrapedep + + infoLabels = item.infoLabels + + itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, + contentEpisodeNumber=contentEpisodeNumber, type='episode', infoLabels=infoLabels)) + + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + return itemlist + +def findvideos(item): + logger.info() + + itemlist = [] + duplicated = [] + data = get_source(item.url) + if item.type !='episode' and '' not in data: + item.type = 'dorama' + item.contentSerieName = item.contentTitle + item.contentTitle = '' + return episodes(item) + else: + itemlist.extend(servertools.find_video_items(data=data)) + for video_item in itemlist: + if 'sgl.php' in video_item.url: + headers = {'referer': item.url} + patron_gvideo = "'file':'(.*?)','type'" + data_gvideo = httptools.downloadpage(video_item.url, headers=headers).data + video_item.url = scrapertools.find_single_match(data_gvideo, patron_gvideo) + + duplicated.append(video_item.url) + video_item.channel = item.channel + video_item.infoLabels = item.infoLabels + video_item.language=IDIOMAS['sub'] + + patron = 'var item = {id: (\d+), episode: (\d+),' + matches = re.compile(patron, re.DOTALL).findall(data) + + for id, episode in matches: + data_json=jsontools.load(httptools.downloadpage(host+'/api/stream/?id=%s&episode=%s' %(id, episode)).data) + sources = data_json['options'] + for src in sources: + url = sources[src] + + if 'sgl.php' in url: + headers = {'referer':item.url} + patron_gvideo = "'file':'(.*?)','type'" + data_gvideo = httptools.downloadpage(url, headers = headers).data + url = scrapertools.find_single_match(data_gvideo, patron_gvideo) + + new_item = Item(channel=item.channel, title='%s', url=url, language=IDIOMAS['sub'], action='play', + infoLabels=item.infoLabels) + if url != '' and url not in duplicated: + itemlist.append(new_item) + duplicated.append(url) + try: + itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % x.server.capitalize()) + except: + pass + + + # Requerido para FilterTools + + itemlist = filtertools.get_links(itemlist, item, list_language) + + # Requerido para AutoPlay + + autoplay.start(itemlist, item) + + return itemlist + + +def search(item, texto): + logger.info() + texto = texto.replace(" ", "+") + item.url = item.url + texto + item.type = 'search' + if texto != '': + return list_all(item) From b1cf39c8ac5f468f4f773eea702d905249b6c8d3 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Wed, 28 Mar 2018 16:38:59 -0500 Subject: [PATCH 6/9] pelisplus: fix --- plugin.video.alfa/channels/pelisplus.py | 628 ++++++++---------------- 1 file changed, 195 insertions(+), 433 deletions(-) diff --git a/plugin.video.alfa/channels/pelisplus.py b/plugin.video.alfa/channels/pelisplus.py index fefe287d..48c408c4 100644 --- a/plugin.video.alfa/channels/pelisplus.py +++ b/plugin.video.alfa/channels/pelisplus.py @@ -7,18 +7,14 @@ from channels import filtertools from core import httptools from core import scrapertools from core import tmdb +from core import jsontools from core.item import Item from platformcode import config, logger +from channelselector import get_thumb from core import servertools host = "http://www.pelisplus.tv/" -headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], - ['Referer', host]] - -patrones = ['.*?', - 'Sinopsis:<\/span>.([^<]+)<\/span>.<\/p>'] - IDIOMA = {'latino': 'Latino'} list_language = IDIOMA.values() @@ -36,6 +32,13 @@ list_servers = [ ] +def get_source(url): + + logger.info() + data = httptools.downloadpage(url).data + data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) + return data + def mainlist(item): logger.info() @@ -44,100 +47,218 @@ def mainlist(item): itemlist.append( item.clone(title="Peliculas", - action="menupeliculas", - thumbnail='https://s8.postimg.org/6wqwy2c2t/peliculas.png', - fanart='https://s8.postimg.org/6wqwy2c2t/peliculas.png', - extra='peliculas/' + action="sub_menu", + thumbnail=get_thumb('movies', auto=True), )) itemlist.append( item.clone(title="Series", - action="menuseries", - thumbnail='https://s27.postimg.org/iahczwgrn/series.png', - fanart='https://s27.postimg.org/iahczwgrn/series.png', - extra='peliculas/' + action="sub_menu", + thumbnail=get_thumb('tvshows', auto=True), )) itemlist.append( - item.clone(title="Documentales", - action="lista", - url=host + 'documentales/pag-1', - thumbnail='https://s16.postimg.org/7xjj4bmol/documental.png', - fanart='https://s16.postimg.org/7xjj4bmol/documental.png', - extra='documentales/' - )) + item.clone(title="Buscar", action="search", url=host + 'busqueda/?s=', + thumbnail=get_thumb('search', auto=True), + )) autoplay.show_option(item.channel, itemlist) return itemlist -def menupeliculas(item): +def sub_menu(item): logger.info() itemlist = [] + content = item.title.lower() itemlist.append(item.clone(title="Todas", - action="lista", - url=host + 'peliculas/pag-1', - thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png', - fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', - extra='peliculas/' - )) - - itemlist.append(item.clone(title="Ultimas", - action="lista", - url=host + 'estrenos/pag-1', - thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png', - fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png', - extra='estrenos/' + action="list_all", + url=host + '%s/ultimas-%s/' % (content, content), + thumbnail=get_thumb('all', auto=True), )) itemlist.append(item.clone(title="Generos", action="generos", - url=host + 'peliculas/pag-1', - thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png', - fanart='https://s3.postimg.org/5s9jg2wtf/generos.png', - extra='documentales/' - )) - - itemlist.append(item.clone(title="Buscar", - action="search", - url=host + 'busqueda/?s=', - thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png', - fanart='https://s30.postimg.org/pei7txpa9/buscar.png', - extra='peliculas/' + url=host + '%s/' % content, + thumbnail=get_thumb('genres', auto=True), )) return itemlist -def menuseries(item): +def list_all(item): + logger.info() + + itemlist=[] + + data = get_source(item.url) + patron = '(?:|Posters>)') + if next_page != '': + itemlist.append(item.clone(action="list_all", + title='Siguiente >>>', + url=host+next_page, + thumbnail='https://s32.postimg.org/4zppxf5j9/siguiente.png' + )) + return itemlist + + +def generos(item): + logger.info() itemlist = [] + data = get_source(item.url) + if 'series' not in item.url: + clean_genre = 'PELÍCULAS DE' + else: + clean_genre = 'SERIES DE' - itemlist.append(item.clone(title="Todas", - action="lista", - url=host + "series/pag-1", - thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png', - fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', - extra='series/' - )) + patron = '