diff --git a/plugin.video.alfa/channels/kbagi.json b/plugin.video.alfa/channels/kbagi.json new file mode 100644 index 00000000..2f292d54 --- /dev/null +++ b/plugin.video.alfa/channels/kbagi.json @@ -0,0 +1,81 @@ +{ + "id": "kbagi", + "name": "Kbagi/Diskokosmiko", + "language": ["cast", "lat"], + "active": true, + "adult": false, + "version": 1, + "thumbnail": "http://i.imgur.com/EjbfM7p.png?1", + "banner": "copiapop.png", + "categories": [ + "movie", + "tvshow" + ], + "settings": [ + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": false, + "enabled": true, + "visible": true + }, + { + "id": "kbagiuser", + "type": "text", + "color": "0xFF25AA48", + "label": "Usuario Kbagi", + "enabled": true, + "visible": true + }, + { + "id": "kbagipassword", + "type": "text", + "color": "0xFF25AA48", + "hidden": true, + "label": "Password Kbagi", + "enabled": "!eq(-1,'')", + "visible": true + }, + { + "id": "diskokosmikouser", + "type": "text", + "color": "0xFFC52020", + "label": "Usuario Diskokosmiko", + "enabled": true, + "visible": true + }, + { + "id": "diskokosmikopassword", + "type": "text", + "color": "0xFFC52020", + "hidden": true, + "label": "Password Diskokosmiko", + "enabled": "!eq(-1,'')", + "visible": true + }, + { + "id": "adult_content", + "type": "bool", + "color": "0xFFd50b0b", + "label": "Mostrar contenido adulto en las búsquedas", + "default": false, + "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" + ] + } + ] +} \ No newline at end of file diff --git a/plugin.video.alfa/channels/kbagi.py b/plugin.video.alfa/channels/kbagi.py new file mode 100644 index 00000000..325c9547 --- /dev/null +++ b/plugin.video.alfa/channels/kbagi.py @@ -0,0 +1,426 @@ +# -*- coding: utf-8 -*- + +import re +import threading + +from core import filetools +from core import httptools +from core import scrapertools +from core.item import Item +from platformcode import config, logger + +__perfil__ = config.get_setting('perfil', "kbagi") + +# Fijar perfil de color +perfil = [['0xFFFFE6CC', '0xFFFFCE9C', '0xFF994D00', '0xFFFE2E2E', '0xFF088A08'], + ['0xFFA5F6AF', '0xFF5FDA6D', '0xFF11811E', '0xFFFE2E2E', '0xFF088A08'], + ['0xFF58D3F7', '0xFF2E9AFE', '0xFF2E64FE', '0xFFFE2E2E', '0xFF088A08']] + +if __perfil__ - 1 >= 0: + color1, color2, color3, color4, color5 = perfil[__perfil__ - 1] +else: + color1 = color2 = color3 = color4 = color5 = "" + +adult_content = config.get_setting("adult_content", "kbagi") + + +def login(pagina): + logger.info() + + try: + user = config.get_setting("%suser" % pagina.split(".")[0], "kbagi") + password = config.get_setting("%spassword" % pagina.split(".")[0], "kbagi") + if pagina == "kbagi.com": + if user == "" and password == "": + return False, "Para ver los enlaces de kbagi es necesario registrarse en kbagi.com" + elif user == "" or password == "": + return False, "kbagi: Usuario o contraseña en blanco. Revisa tus credenciales" + else: + if user == "" or password == "": + return False, "DiskoKosmiko: Usuario o contraseña en blanco. Revisa tus credenciales" + + data = httptools.downloadpage("http://%s" % pagina).data + if re.search(r'(?i)%s' % user, data): + return True, "" + + token = scrapertools.find_single_match(data, 'name="__RequestVerificationToken".*?value="([^"]+)"') + post = "__RequestVerificationToken=%s&UserName=%s&Password=%s" % (token, user, password) + headers = {'X-Requested-With': 'XMLHttpRequest'} + url_log = "http://%s/action/Account/Login" % pagina + data = httptools.downloadpage(url_log, post, headers).data + if "redirectUrl" in data: + logger.info("Login correcto") + return True, "" + else: + logger.error("Error en el login") + return False, "Nombre de usuario no válido. Comprueba tus credenciales" + except: + import traceback + logger.error(traceback.format_exc()) + return False, "Error durante el login. Comprueba tus credenciales" + + +def mainlist(item): + logger.info() + itemlist = [] + item.text_color = color1 + + logueado, error_message = login("kbagi.com") + + if not logueado: + itemlist.append(item.clone(title=error_message, action="configuracion", folder=False)) + else: + item.extra = "http://kbagi.com" + itemlist.append(item.clone(title="kbagi", action="", text_color=color2)) + itemlist.append( + item.clone(title=" Búsqueda", action="search", url="http://kbagi.com/action/SearchFiles")) + itemlist.append(item.clone(title=" Colecciones", action="colecciones", + url="http://kbagi.com/action/home/MoreNewestCollections?pageNumber=1")) + itemlist.append(item.clone(title=" Búsqueda personalizada", action="filtro", + url="http://kbagi.com/action/SearchFiles")) + itemlist.append(item.clone(title=" Mi cuenta", action="cuenta")) + + item.extra = "http://diskokosmiko.mx/" + itemlist.append(item.clone(title="DiskoKosmiko", action="", text_color=color2)) + itemlist.append(item.clone(title=" Búsqueda", action="search", url="http://diskokosmiko.mx/action/SearchFiles")) + itemlist.append(item.clone(title=" Colecciones", action="colecciones", + url="http://diskokosmiko.mx/action/home/MoreNewestCollections?pageNumber=1")) + itemlist.append(item.clone(title=" Búsqueda personalizada", action="filtro", + url="http://diskokosmiko.mx/action/SearchFiles")) + itemlist.append(item.clone(title=" Mi cuenta", action="cuenta")) + itemlist.append(item.clone(action="", title="")) + + folder_thumb = filetools.join(config.get_data_path(), 'thumbs_kbagi') + files = filetools.listdir(folder_thumb) + if files: + itemlist.append( + item.clone(title="Eliminar caché de imágenes (%s)" % len(files), action="delete_cache", text_color="red")) + itemlist.append(item.clone(title="Configuración del canal", action="configuracion", text_color="gold")) + + return itemlist + + +def search(item, texto): + logger.info() + item.post = "Mode=List&Type=Video&Phrase=%s&SizeFrom=0&SizeTo=0&Extension=&ref=pager&pageNumber=1" % texto.replace( + " ", "+") + try: + return listado(item) + except: + import sys, traceback + for line in sys.exc_info(): + logger.error("%s" % line) + logger.error(traceback.format_exc()) + return [] + + +def configuracion(item): + from platformcode import platformtools + ret = platformtools.show_channel_settings() + platformtools.itemlist_refresh() + return ret + + +def listado(item): + logger.info() + itemlist = [] + + data_thumb = httptools.downloadpage(item.url, item.post.replace("Mode=List", "Mode=Gallery")).data + if not item.post: + data_thumb = "" + item.url = item.url.replace("/gallery,", "/list,") + + data = httptools.downloadpage(item.url, item.post).data + data = re.sub(r"\n|\r|\t|\s{2}| |
", "", data) + + folder = filetools.join(config.get_data_path(), 'thumbs_kbagi') + patron = '
(.*?)
' + bloques = scrapertools.find_multiple_matches(data, patron) + for block in bloques: + if "adult_info" in block and not adult_content: + continue + size = scrapertools.find_single_match(block, '

([^<]+)

') + scrapedurl, scrapedtitle = scrapertools.find_single_match(block, + '
([^<]+)<') + scrapedthumbnail = scrapertools.find_single_match(block, "background-image:url\('([^']+)'") + if scrapedthumbnail: + try: + thumb = scrapedthumbnail.split("-", 1)[0].replace("?", "\?") + if data_thumb: + url_thumb = scrapertools.find_single_match(data_thumb, "(%s[^']+)'" % thumb) + else: + url_thumb = scrapedthumbnail + scrapedthumbnail = filetools.join(folder, "%s.jpg" % url_thumb.split("e=", 1)[1][-20:]) + except: + scrapedthumbnail = "" + + if scrapedthumbnail: + t = threading.Thread(target=download_thumb, args=[scrapedthumbnail, url_thumb]) + t.setDaemon(True) + t.start() + + else: + scrapedthumbnail = item.extra + "/img/file_types/gallery/movie.png" + + scrapedurl = item.extra + scrapedurl + title = "%s (%s)" % (scrapedtitle, size) + if "adult_info" in block: + title += " [COLOR %s][+18][/COLOR]" % color4 + plot = scrapertools.find_single_match(block, '
(.*?)
') + if plot: + plot = scrapertools.decodeHtmlentities(plot) + + new_item = Item(channel=item.channel, action="findvideos", title=title, url=scrapedurl, + thumbnail=scrapedthumbnail, contentTitle=scrapedtitle, text_color=color2, + extra=item.extra, infoLabels={'plot': plot}, post=item.post) + if item.post: + try: + new_item.folderurl, new_item.foldername = scrapertools.find_single_match(block, + '

([^<]+)<') + except: + pass + else: + new_item.folderurl = item.url.rsplit("/", 1)[0] + new_item.foldername = item.foldername + new_item.fanart = item.thumbnail + + itemlist.append(new_item) + + next_page = scrapertools.find_single_match(data, '

", "", content) + else: + usuario = True + if item.follow: + content = scrapertools.find_single_match(data, + 'id="followed_collections"(.*?)' next_page = re.compile(patron,re.DOTALL).findall(data) diff --git a/plugin.video.alfa/channels/peliculasaudiolatino.py b/plugin.video.alfa/channels/peliculasaudiolatino.py index d5a021ac..197cc18c 100644 --- a/plugin.video.alfa/channels/peliculasaudiolatino.py +++ b/plugin.video.alfa/channels/peliculasaudiolatino.py @@ -155,6 +155,8 @@ def findvideos(item): url = scrapedurl server = servertools.get_server_name(servidor) title = "Enlace encontrado en %s" % (server) + if idioma == 'Ingles Subtitulado': + idioma = 'vose' itemlist.append(Item(channel=item.channel, action="play", title=title, fulltitle=item.fulltitle, url=url, thumbnail=scrapedthumbnail, language=idioma, quality=calidad, server=server)) if itemlist: diff --git a/plugin.video.alfa/channels/peliculasmx.py b/plugin.video.alfa/channels/peliculasmx.py index 4055fd26..81ccd672 100644 --- a/plugin.video.alfa/channels/peliculasmx.py +++ b/plugin.video.alfa/channels/peliculasmx.py @@ -76,14 +76,11 @@ def peliculas(item): tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) # Extrae la marca de siguiente página - paginador = scrapertools.find_single_match(data, "
.*?lateral") + next_page = scrapertools.find_single_match(data, 'class="nextpostslink" rel="next" href="(.*?)">') - patron = ".*?href='([^']+)" - scrapedurl = scrapertools.find_single_match(paginador, patron) - - if scrapedurl: + if next_page: scrapedtitle = "!Pagina Siguiente ->" - itemlist.append(Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=scrapedurl, folder=True)) + itemlist.append(Item(channel=item.channel, action="peliculas", title=scrapedtitle, url=next_page, folder=True)) return itemlist diff --git a/plugin.video.alfa/channels/peliscity.py b/plugin.video.alfa/channels/peliscity.py index 121f34f4..f26ecb38 100755 --- a/plugin.video.alfa/channels/peliscity.py +++ b/plugin.video.alfa/channels/peliscity.py @@ -43,7 +43,7 @@ def porIdioma(item): itemlist.append(Item(channel=item.channel, title="Castellano", action="agregadas", url= host + "/idioma/espanol-castellano/", viewmode="movie_with_plot")) itemlist.append( - Item(channel=item.channel, title="VOS", action="agregadas", url= host + "/idioma/subtitulada/", + Item(channel=item.channel, title="VOSE", action="agregadas", url= host + "/idioma/subtitulada/", viewmode="movie_with_plot")) itemlist.append(Item(channel=item.channel, title="Latino", action="agregadas", url= host + "/idioma/espanol-latino/", viewmode="movie_with_plot")) diff --git a/plugin.video.alfa/channels/pymovie.json b/plugin.video.alfa/channels/pymovie.json deleted file mode 100755 index cfbbdc10..00000000 --- a/plugin.video.alfa/channels/pymovie.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "id": "pymovie", - "name": "pymovie", - "active": true, - "adult": false, - "language": ["cast", "lat"], - "thumbnail": "https://s27.postimg.org/hvmvz7vab/pymovie.png", - "banner": "https://s28.postimg.org/3k0wjnwul/pymovie_banner.png", - "version": 1, - "changes": [ - { - "date": "25/05/2017", - "description": "cambios esteticos" - }, - { - "date": "15/03/2017", - "description": "limpieza código" - }, - { - "date": "04/01/2017", - "description": "Release." - } - ], - "categories": [ - "movie", - "tvshow", - "documentary" - ], - "settings": [ - { - "id": "include_in_global_search", - "type": "bool", - "label": "Incluir en busqueda global", - "default": false, - "enabled": false, - "visible": false - }, - { - "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_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/pymovie.py b/plugin.video.alfa/channels/pymovie.py deleted file mode 100755 index e3f4deb3..00000000 --- a/plugin.video.alfa/channels/pymovie.py +++ /dev/null @@ -1,399 +0,0 @@ -# -*- coding: utf-8 -*- - -import re - -from core import httptools -from core import scrapertools -from core import servertools -from core.item import Item -from platformcode import config, logger - -host = "http://www.pymovie.com.mx" - -headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], - ['Referer', host]] - -tgenero = {"comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png", - "drama": "https://s16.postimg.org/94sia332d/drama.png", - "accion": "https://s3.postimg.org/y6o9puflv/accion.png", - "aventura": "https://s10.postimg.org/6su40czih/aventura.png", - "romance": "https://s15.postimg.org/fb5j8cl63/romance.png", - "animacion": "https://s13.postimg.org/5on877l87/animacion.png", - "ciencia ficcion": "https://s9.postimg.org/diu70s7j3/cienciaficcion.png", - "terror": "https://s7.postimg.org/yi0gij3gb/terror.png", - "musical": "https://s29.postimg.org/bbxmdh9c7/musical.png", - "deporte": "https://s13.postimg.org/xuxf5h06v/deporte.png", - "artes Marciales": "https://s24.postimg.org/w1aw45j5h/artesmarciales.png", - "intriga": "https://s27.postimg.org/v9og43u2b/intriga.png", - "infantil": "https://s23.postimg.org/g5rmazozv/infantil.png", - "mexicanas": "https://s3.postimg.org/p36ntnxfn/mexicana.png", - "espionaje": "https://s2.postimg.org/5hv64b989/espionaje.png", - "biografia": "https://s15.postimg.org/5lrpbx323/biografia.png"} - -tcalidad = {'hd-1080': '[COLOR limegreen]HD-1080[/COLOR]', 'hd-720': '[COLOR limegreen]HD-720[/COLOR]', - 'blueray': '[COLOR limegreen]BLUERAY[/COLOR]', 'dvd': '[COLOR limegreen]DVD[/COLOR]', - 'cam': '[COLOR red]CAM[/COLOR]'} - -tcalidad2 = {'hd-1080': 'https://s21.postimg.org/4h1s0t1wn/hd1080.png', - 'hd-720': 'https://s12.postimg.org/lthu7v4q5/hd720.png', 'blueray': '', - 'dvd': 'https://s1.postimg.org/m89hus1tb/dvd.png', 'cam': 'https://s11.postimg.org/ad4o5wpz7/cam.png'} - - -def mainlist(item): - logger.info() - - itemlist = [] - - 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/')) - - itemlist.append(itemlist[-1].clone(title="Series", action="menuseries", - thumbnail='https://s27.postimg.org/iahczwgrn/series.png', - fanart='https://s27.postimg.org/iahczwgrn/series.png', extra='peliculas/')) - - itemlist.append(itemlist[-1].clone(title="Documentales", action="menudocumental", - thumbnail='https://s16.postimg.org/7xjj4bmol/documental.png', - fanart='https://s16.postimg.org/7xjj4bmol/documental.png', extra='documental')) - - return itemlist - - -def menupeliculas(item): - logger.info() - itemlist = [] - - itemlist.append(Item(channel=item.channel, title="Ultimas", action="lista", url=host + '/Ordenar/Estreno/?page=1', - thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png', - fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png', extra='Estreno')) - - itemlist.append(Item(channel=item.channel, title="Todas", action="lista", url=host + '?page=1', - thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png', - fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', extra='todas')) - - itemlist.append(Item(channel=item.channel, title="Generos", action="seccion", url=host, - thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png', - fanart='https://s3.postimg.org/5s9jg2wtf/generos.png', extra='generos')) - - itemlist.append( - Item(channel=item.channel, title="Alfabetico", action="lista", url=host + '/Ordenar/Alfabetico/?page=1', - thumbnail='https://s17.postimg.org/fwi1y99en/a-z.png', fanart='https://s17.postimg.org/fwi1y99en/a-z.png', - extra='Alfabetico')) - - itemlist.append(Item(channel=item.channel, title="Calidad", action="seccion", url=host, - thumbnail='https://s13.postimg.org/6nzv8nlkn/calidad.png', - fanart='https://s13.postimg.org/6nzv8nlkn/calidad.png', extra='calidad')) - - itemlist.append( - Item(channel=item.channel, title="Mas Vistas", action="lista", url=host + '/Ordenar/MasVistas/?page=1', - thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png', - fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png', extra='Estreno')) - - itemlist.append( - Item(channel=item.channel, title="Mas Votadas", action="lista", url=host + '/Ordenar/MasVotos/?page=1', - thumbnail='https://s7.postimg.org/9kg1nthzf/votadas.png', - fanart='https://s7.postimg.org/9kg1nthzf/votadas.png', extra='Estreno')) - - itemlist.append( - Item(channel=item.channel, title="Calificacion", action="lista", url=host + '/Ordenar/Calificacion/?page=1', - thumbnail='https://s18.postimg.org/mjqrl49h5/calificacion.png', - fanart='https://s18.postimg.org/mjqrl49h5/calificacion.png', extra='Estreno')) - - return itemlist - - -def menuseries(item): - logger.info() - itemlist = [] - - itemlist.append(Item(channel=item.channel, title="Ultimas", action="lista", url=host + "/Series-estreno/?page=1", - thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png', - fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png', extra='series')) - - itemlist.append(Item(channel=item.channel, title="Generos", action="seccion", url=host, - thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png', - fanart='https://s3.postimg.org/5s9jg2wtf/generos.png', extra='series-generos')) - - itemlist.append( - Item(channel=item.channel, title="Alfabetico", action="lista", url=host + '/Ordernar-Serie/Alfabetico/?page=1', - thumbnail='https://s17.postimg.org/fwi1y99en/a-z.png', fanart='https://s17.postimg.org/fwi1y99en/a-z.png', - extra='series-alpha')) - - itemlist.append( - Item(channel=item.channel, title="Mas Vistas", action="lista", url=host + '/Ordernar-Serie/MasVistas/?page=1', - thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png', - fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png', extra='series-masvistas')) - - itemlist.append( - Item(channel=item.channel, title="Mas Votadas", action="lista", url=host + '/Ordernar-Serie/Masvotos/?page=1', - thumbnail='https://s7.postimg.org/9kg1nthzf/votadas.png', - fanart='https://s7.postimg.org/9kg1nthzf/votadas.png', extra='series-masvotadas')) - - itemlist.append(Item(channel=item.channel, title="Recomendadas", action="lista", - url=host + '/Ordernar-Serie/Recomendadas/?page=1', - thumbnail='https://s12.postimg.org/s881laywd/recomendadas.png', - fanart='https://s12.postimg.org/s881laywd/recomendadas.png', extra='series-recomendadas')) - - return itemlist - - -def menudocumental(item): - logger.info() - itemlist = [] - - itemlist.append(Item(channel=item.channel, title="Todas", action="lista", url=host + "/Documentales/?page=1", - thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png', - fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', extra='documental')) - - itemlist.append(Item(channel=item.channel, title="Alfabetico", action="lista", - url=host + "/OrdenarDocumental/Alfabetico/?page=1", - thumbnail='https://s17.postimg.org/fwi1y99en/a-z.png', - fanart='https://s17.postimg.org/fwi1y99en/a-z.png', extra='documental')) - - itemlist.append(Item(channel=item.channel, title="Mas Vistas", action="lista", - url=host + "/OrdenarDocumental/MasVistas/?page=1", - thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png', - fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png', extra='documental')) - - return itemlist - - -def lista(item): - logger.info() - - if item.extra == 'series': - accion = 'episodiosxtemp' - elif 'series-' in item.extra: - accion = 'temporadas' - else: - accion = 'findvideos' - - itemlist = [] - data = httptools.downloadpage(item.url).data - - if 'series' in item.extra or item.extra == 'documental': - patron = '

([^<]+)<\/h2>next &') - while item.url[-1] != '=': - item.url = item.url[:-1] - next_page_url = item.url + next_page - if next_page != '': - itemlist.append(Item(channel=item.channel, action="lista", title='Siguiente >>>', url=next_page_url, - thumbnail='https://s16.postimg.org/9okdu7hhx/siguiente.png', extra=item.extra)) - return itemlist - - -def temporadas(item): - logger.info() - itemlist = [] - templist = [] - data = httptools.downloadpage(item.url).data - - patron = 'class="listatemporadas" >([^<]+)<' - matches = re.compile(patron, re.DOTALL).findall(data) - - for scrapedurl, scrapedthumbnail, scrapedtitle in matches: - url = host + scrapedurl - title = scrapedtitle - thumbnail = scrapedthumbnail - plot = '' - fanart = '' - contentSeasonNumber = scrapedtitle.replace('Temporada ', '') - - itemlist.append(Item(channel=item.channel, action="episodiosxtemp", title=title, fulltitle=item.title, url=url, - thumbnail=thumbnail, plot=plot, fanart=fanart, contentSerieName=item.contentSerieName, - contentSeasonNumber=contentSeasonNumber)) - - if item.extra == 'temporadas': - for tempitem in itemlist: - templist += episodiosxtemp(tempitem) - - 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 = temporadas(item) - for tempitem in templist: - itemlist += episodiosxtemp(tempitem) - - return itemlist - - -def episodiosxtemp(item): - logger.info() - itemlist = [] - data = httptools.downloadpage(item.url).data - patron = '' - matches = re.compile(patron, re.DOTALL).findall(data) - ep = 1 - for scrapedtitle in matches: - scrapedtitle = scrapedtitle.replace(item.contentSeasonNumber + 'x' + '0' + str(ep), '') - url = host + '/VerCapitulo/' + scrapedtitle.replace(' ', '-') - title = item.contentSeasonNumber + 'x' + str(ep) + ' ' + scrapedtitle.strip('/') - - thumbnail = item.thumbnail - plot = '' - fanart = '' - plot = '' - contentEpisodeNumber = ep - - itemlist.append(Item(channel=item.channel, action="findvideos", title=title, fulltitle=item.title, url=url, - thumbnail=thumbnail, plot=plot, fanart=fanart, extra='series', - contentSerieName=item.contentSerieName, contentSeasonNumber=item.contentSeasonNumber, - contentEpisodeNumber=contentEpisodeNumber)) - ep = ep + 1 - - return itemlist - - -def seccion(item): - logger.info() - itemlist = [] - data = httptools.downloadpage(item.url).data - patron = '