From ae018e43e80e152733cc763f3a587df14c93c60b Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Tue, 10 Oct 2017 15:39:15 -0500 Subject: [PATCH 01/18] Actualizado hdfull: fix --- plugin.video.alfa/channels/hdfull.py | 96 ++++++++++++---------------- 1 file changed, 40 insertions(+), 56 deletions(-) diff --git a/plugin.video.alfa/channels/hdfull.py b/plugin.video.alfa/channels/hdfull.py index 76b6375f..3133dc69 100644 --- a/plugin.video.alfa/channels/hdfull.py +++ b/plugin.video.alfa/channels/hdfull.py @@ -49,8 +49,7 @@ def mainlist(item): itemlist.append(Item(channel=item.channel, action="menuseries", title="Series", url=host, folder=True)) itemlist.append(Item(channel=item.channel, action="search", title="Buscar...")) if not account: - itemlist.append(Item(channel=item.channel, title=bbcode_kodi2html( - "[COLOR orange][B]Habilita tu cuenta para activar los items de usuario...[/B][/COLOR]"), + itemlist.append(Item(channel=item.channel, title="[COLOR orange][B]Habilita tu cuenta para activar los items de usuario...[/B][/COLOR]", action="settingCanal", url="")) else: login() @@ -66,10 +65,10 @@ def menupeliculas(item): if account: itemlist.append(Item(channel=item.channel, action="items_usuario", - title=bbcode_kodi2html("[COLOR orange][B]Favoritos[/B][/COLOR]"), + title="[COLOR orange][B]Favoritos[/B][/COLOR]", url=host + "/a/my?target=movies&action=favorite&start=-28&limit=28", folder=True)) itemlist.append(Item(channel=item.channel, action="items_usuario", - title=bbcode_kodi2html("[COLOR orange][B]Pendientes[/B][/COLOR]"), + title="[COLOR orange][B]Pendientes[/B][/COLOR]", url=host + "/a/my?target=movies&action=pending&start=-28&limit=28", folder=True)) itemlist.append(Item(channel=item.channel, action="fichas", title="ABC", url=host + "/peliculas/abc", folder=True)) @@ -86,7 +85,7 @@ def menupeliculas(item): itemlist.append(Item(channel=item.channel, action="generos", title="Películas por Género", url=host, folder=True)) if account: itemlist.append(Item(channel=item.channel, action="items_usuario", - title=bbcode_kodi2html("[COLOR orange][B]Vistas[/B][/COLOR]"), + title="[COLOR orange][B]Vistas[/B][/COLOR]", url=host + "/a/my?target=movies&action=seen&start=-28&limit=28", folder=True)) return itemlist @@ -99,10 +98,10 @@ def menuseries(item): if account: itemlist.append(Item(channel=item.channel, action="items_usuario", - title=bbcode_kodi2html("[COLOR orange][B]Siguiendo[/B][/COLOR]"), + title="[COLOR orange][B]Siguiendo[/B][/COLOR]", url=host + "/a/my?target=shows&action=following&start=-28&limit=28", folder=True)) itemlist.append(Item(channel=item.channel, action="items_usuario", - title=bbcode_kodi2html("[COLOR orange][B]Para Ver[/B][/COLOR]"), + title="[COLOR orange][B]Para Ver[/B][/COLOR]", url=host + "/a/my?target=shows&action=watch&start=-28&limit=28", folder=True)) itemlist.append(Item(channel=item.channel, action="series_abc", title="A-Z", folder=True)) @@ -123,13 +122,13 @@ def menuseries(item): url=host + "/series/list", folder=True)) if account: itemlist.append(Item(channel=item.channel, action="items_usuario", - title=bbcode_kodi2html("[COLOR orange][B]Favoritas[/B][/COLOR]"), + title="[COLOR orange][B]Favoritas[/B][/COLOR]", url=host + "/a/my?target=shows&action=favorite&start=-28&limit=28", folder=True)) itemlist.append(Item(channel=item.channel, action="items_usuario", - title=bbcode_kodi2html("[COLOR orange][B]Pendientes[/B][/COLOR]"), + title="[COLOR orange][B]Pendientes[/B][/COLOR]", url=host + "/a/my?target=shows&action=pending&start=-28&limit=28", folder=True)) itemlist.append(Item(channel=item.channel, action="items_usuario", - title=bbcode_kodi2html("[COLOR orange][B]Vistas[/B][/COLOR]"), + title="[COLOR orange][B]Vistas[/B][/COLOR]", url=host + "/a/my?target=shows&action=seen&start=-28&limit=28", folder=True)) return itemlist @@ -222,7 +221,7 @@ def items_usuario(item): serie = ficha['show_title']['en'].strip() temporada = ficha['season'] episodio = ficha['episode'] - serie = bbcode_kodi2html("[COLOR whitesmoke][B]" + serie + "[/B][/COLOR]") + serie = "[COLOR whitesmoke][B]" + serie + "[/B][/COLOR]" if len(episodio) == 1: episodio = '0' + episodio try: title = temporada + "x" + episodio + " - " + serie + ": " + title @@ -286,9 +285,8 @@ def fichas(item): if len(s_p) == 1: data = s_p[0] if 'Lo sentimos' in s_p[0]: - return [Item(channel=item.channel, title=bbcode_kodi2html( - "[COLOR gold][B]HDFull:[/B][/COLOR] [COLOR blue]" + texto.replace('%20', - ' ') + "[/COLOR] sin resultados"))] + return [Item(channel=item.channel, title="[COLOR gold][B]HDFull:[/B][/COLOR] [COLOR blue]" + texto.replace('%20', + ' ') + "[/COLOR] sin resultados")] else: data = s_p[0] + s_p[1] else: @@ -321,12 +319,12 @@ def fichas(item): if scrapedlangs != ">": textoidiomas, language = extrae_idiomas(scrapedlangs) #Todo Quitar el idioma - title += bbcode_kodi2html(" ( [COLOR teal][B]" + textoidiomas + "[/B][/COLOR])") + title += " ( [COLOR teal][B]" + textoidiomas + "[/B][/COLOR])" if scrapedrating != ">": valoracion = re.sub(r'><[^>]+>(\d+)(\d+)', r'\1,\2', scrapedrating) infoLabels['rating']=valoracion - title += bbcode_kodi2html(" ([COLOR orange]" + valoracion + "[/COLOR])") + title += " ([COLOR orange]" + valoracion + "[/COLOR])" url = urlparse.urljoin(item.url, scrapedurl) @@ -346,7 +344,7 @@ def fichas(item): if item.title == "Buscar...": tag_type = scrapertools.get_match(url, 'l.tv/([^/]+)/') - title += bbcode_kodi2html(" - [COLOR blue]" + tag_type.capitalize() + "[/COLOR]") + title += " - [COLOR blue]" + tag_type.capitalize() + "[/COLOR]" itemlist.append( Item(channel=item.channel, action=action, title=title, url=url, fulltitle=title, thumbnail=thumbnail, @@ -388,7 +386,7 @@ def episodios(item): str = get_status(status, "shows", id) if str != "" and account and item.category != "Series" and "XBMC" not in item.title: if config.get_videolibrary_support(): - title = bbcode_kodi2html(" ( [COLOR gray][B]" + item.show + "[/B][/COLOR] )") + title = " ( [COLOR gray][B]" + item.show + "[/B][/COLOR] )" itemlist.append( Item(channel=item.channel, action="episodios", title=title, fulltitle=title, url=url_targets, thumbnail=item.thumbnail, show=item.show, folder=False)) @@ -397,11 +395,11 @@ def episodios(item): thumbnail=item.thumbnail, show=item.show, folder=True)) elif account and item.category != "Series" and "XBMC" not in item.title: if config.get_videolibrary_support(): - title = bbcode_kodi2html(" ( [COLOR gray][B]" + item.show + "[/B][/COLOR] )") + title = " ( [COLOR gray][B]" + item.show + "[/B][/COLOR] )" itemlist.append( Item(channel=item.channel, action="episodios", title=title, fulltitle=title, url=url_targets, thumbnail=item.thumbnail, show=item.show, folder=False)) - title = bbcode_kodi2html(" ( [COLOR orange][B]Seguir[/B][/COLOR] )") + title = " ( [COLOR orange][B]Seguir[/B][/COLOR] )" itemlist.append(Item(channel=item.channel, action="set_status", title=title, fulltitle=title, url=url_targets, thumbnail=item.thumbnail, show=item.show, folder=True)) @@ -436,7 +434,7 @@ def episodios(item): idiomas = "( [COLOR teal][B]" for idioma in episode['languages']: idiomas += idioma + " " idiomas += "[/B][/COLOR])" - idiomas = bbcode_kodi2html(idiomas) + idiomas = idiomas else: idiomas = "" @@ -513,7 +511,7 @@ def novedades_episodios(item): idiomas = "( [COLOR teal][B]" for idioma in episode['languages']: idiomas += idioma + " " idiomas += "[/B][/COLOR])" - idiomas = bbcode_kodi2html(idiomas) + idiomas = idiomas else: idiomas = "" @@ -522,7 +520,7 @@ def novedades_episodios(item): except: show = episode['show']['title']['en'].strip() - show = bbcode_kodi2html("[COLOR whitesmoke][B]" + show + "[/B][/COLOR]") + show = "[COLOR whitesmoke][B]" + show + "[/B][/COLOR]" if episode['title']: try: @@ -612,6 +610,8 @@ def findvideos(item): logger.info() itemlist = [] + it1 = [] + it2 = [] ## Carga estados status = jsontools.load(httptools.downloadpage(host + '/a/status/all').data) url_targets = item.url @@ -623,21 +623,21 @@ def findvideos(item): item.url = item.url.split("###")[0] if type == "2" and account and item.category != "Cine": - title = bbcode_kodi2html(" ( [COLOR orange][B]Agregar a Favoritos[/B][/COLOR] )") + title = " ( [COLOR orange][B]Agregar a Favoritos[/B][/COLOR] )" if "Favorito" in item.title: - title = bbcode_kodi2html(" ( [COLOR red][B]Quitar de Favoritos[/B][/COLOR] )") + title = " ( [COLOR red][B]Quitar de Favoritos[/B][/COLOR] )" if config.get_videolibrary_support(): - title_label = bbcode_kodi2html(" ( [COLOR gray][B]" + item.show + "[/B][/COLOR] )") - itemlist.append(Item(channel=item.channel, action="findvideos", title=title_label, fulltitle=title_label, + title_label = " ( [COLOR gray][B]" + item.show + "[/B][/COLOR] )" + it1.append(Item(channel=item.channel, action="findvideos", title=title_label, fulltitle=title_label, url=url_targets, thumbnail=item.thumbnail, show=item.show, folder=False)) - title_label = bbcode_kodi2html(" ( [COLOR green][B]Tráiler[/B][/COLOR] )") + title_label = " ( [COLOR green][B]Tráiler[/B][/COLOR] )" - itemlist.append( - Item(channel=item.channel, action="buscartrailer", title=title_label, fulltitle=title_label, url=url_targets, + it1.append( + item.clone(channel="trailertools", action="buscartrailer", title=title_label, contentTitle=item.show, url=item.url, thumbnail=item.thumbnail, show=item.show)) - itemlist.append(Item(channel=item.channel, action="set_status", title=title, fulltitle=title, url=url_targets, + it1.append(Item(channel=item.channel, action="set_status", title=title, fulltitle=title, url=url_targets, thumbnail=item.thumbnail, show=item.show, folder=True)) data_js = httptools.downloadpage("http://hdfull.tv/templates/hdfull/js/jquery.hdfull.view.min.js").data @@ -663,7 +663,6 @@ def findvideos(item): infolabels = {} year = scrapertools.find_single_match(data, 'Año:\s*.*?(\d{4})') infolabels["year"] = year - matches = [] for match in data_decrypt: prov = eval(scrapertools.find_single_match(data_js, 'p\[%s\]\s*=\s*(\{.*?\}[\'"]\})' % match["provider"])) @@ -691,13 +690,15 @@ def findvideos(item): if account: url += "###" + id + ";" + type - itemlist.append( - Item(channel=item.channel, action="play", title=title, fulltitle=title, url=url, thumbnail=thumbnail, + it2.append( + item.clone(channel=item.channel, action="play", title=title, fulltitle=title, url=url, thumbnail=thumbnail, plot=plot, fanart=fanart, show=item.show, folder=True, infoLabels=infolabels, contentTitle=item.contentTitle, contentType=item.contentType, tipo=option)) - itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) - itemlist.sort(key=lambda it: it.title, reverse=True) + it2 = servertools.get_servers_itemlist(it2, lambda i: i.title % i.server.capitalize()) + it2.sort(key=lambda it: it.title, reverse=True) + itemlist.extend(it1) + itemlist.extend(it2) ## 2 = película if type == "2" and item.category != "Cine": if config.get_videolibrary_support(): @@ -754,22 +755,6 @@ def extrae_idiomas(bloqueidiomas): return textoidiomas, language -def bbcode_kodi2html(text): - if config.get_platform().startswith("plex") or config.get_platform().startswith("mediaserver"): - import re - text = re.sub(r'\[COLOR\s([^\]]+)\]', - r'', - text) - text = text.replace('[/COLOR]', '') - text = text.replace('[CR]', '
') - text = re.sub(r'\[([^\]]+)\]', - r'<\1>', - text) - text = text.replace('"color: white"', '"color: auto"') - - return text - - ## -------------------------------------------------------------------------------- def set_status(item): @@ -797,7 +782,7 @@ def set_status(item): data = httptools.downloadpage(host + path, post=post).data - title = bbcode_kodi2html("[COLOR green][B]OK[/B][/COLOR]") + title = "[COLOR green][B]OK[/B][/COLOR]" return [Item(channel=item.channel, action="episodios", title=title, fulltitle=title, url=item.url, thumbnail=item.thumbnail, show=item.show, folder=False)] @@ -815,15 +800,14 @@ def get_status(status, type, id): try: if id in status['favorites'][type]: - str1 = bbcode_kodi2html(" [COLOR orange][B]Favorito[/B][/COLOR]") + str1 = " [COLOR orange][B]Favorito[/B][/COLOR]" except: str1 = "" try: if id in status['status'][type]: str2 = state[status['status'][type][id]] - if str2 != "": str2 = bbcode_kodi2html( - " [COLOR green][B]" + state[status['status'][type][id]] + "[/B][/COLOR]") + if str2 != "": str2 = "[COLOR green][B]" + state[status['status'][type][id]] + "[/B][/COLOR]" except: str2 = "" From 6c623feef20b6799964084f14c8c8a398d3f1733 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Wed, 11 Oct 2017 08:35:47 -0500 Subject: [PATCH 02/18] Update areadocumental.py --- plugin.video.alfa/channels/areadocumental.py | 25 +++++++++++--------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/plugin.video.alfa/channels/areadocumental.py b/plugin.video.alfa/channels/areadocumental.py index 6a04ef75..b360e078 100644 --- a/plugin.video.alfa/channels/areadocumental.py +++ b/plugin.video.alfa/channels/areadocumental.py @@ -23,12 +23,12 @@ def mainlist(item): itemlist = [] item.text_color = color1 itemlist.append(item.clone(title="Novedades", action="entradas", - url="http://www.area-documental.com/resultados-reciente.php?buscar=&genero=", + url= host + "/resultados-reciente.php?buscar=&genero=", fanart="http://i.imgur.com/Q7fsFI6.png")) itemlist.append(item.clone(title="Destacados", action="entradas", - url="http://www.area-documental.com/resultados-destacados.php?buscar=&genero=", + url= host + "/resultados-destacados.php?buscar=&genero=", fanart="http://i.imgur.com/Q7fsFI6.png")) - itemlist.append(item.clone(title="Categorías", action="cat", url="http://www.area-documental.com/index.php", + itemlist.append(item.clone(title="Categorías", action="cat", url= host + "/index.php", fanart="http://i.imgur.com/Q7fsFI6.png")) itemlist.append(item.clone(title="Ordenados por...", action="indice", fanart="http://i.imgur.com/Q7fsFI6.png")) @@ -47,7 +47,7 @@ def configuracion(item): def search(item, texto): logger.info() - item.url = "http://www.area-documental.com/resultados.php?buscar=%s&genero=&x=0&y=0" % texto + item.url = host + "/resultados.php?buscar=%s&genero=&x=0&y=0" % texto item.action = "entradas" try: itemlist = entradas(item) @@ -65,7 +65,7 @@ def newest(categoria): item = Item() try: if categoria == "documentales": - item.url = "http://www.area-documental.com/resultados-reciente.php?buscar=&genero=" + item.url = host + "/resultados-reciente.php?buscar=&genero=" item.action = "entradas" itemlist = entradas(item) @@ -86,9 +86,9 @@ def indice(item): logger.info() itemlist = [] itemlist.append(item.clone(title="Título", action="entradas", - url="http://www.area-documental.com/resultados-titulo.php?buscar=&genero=")) + url= host + "/resultados-titulo.php?buscar=&genero=")) itemlist.append(item.clone(title="Año", action="entradas", - url="http://www.area-documental.com/resultados-anio.php?buscar=&genero=")) + url= host + "/resultados-anio.php?buscar=&genero=")) return itemlist @@ -125,9 +125,13 @@ def entradas(item): data2 = "" data = data.replace("\n", "").replace("\t", "") - patron = '
.*?(.*?)(.*?)

(.*?)

' \ - '.*?: (.*?).*?(.*?)
' + patron = '(?s)
.*?a href="([^"]+)".*?' + patron += ' Date: Wed, 11 Oct 2017 14:12:04 -0500 Subject: [PATCH 03/18] Delete copiapop.json --- plugin.video.alfa/channels/copiapop.json | 93 ------------------------ 1 file changed, 93 deletions(-) delete mode 100644 plugin.video.alfa/channels/copiapop.json diff --git a/plugin.video.alfa/channels/copiapop.json b/plugin.video.alfa/channels/copiapop.json deleted file mode 100644 index acdb4daf..00000000 --- a/plugin.video.alfa/channels/copiapop.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "id": "copiapop", - "name": "Copiapop/Diskokosmiko", - "language": ["cast", "lat"], - "active": true, - "adult": false, - "version": 1, - "changes": [ - { - "date": "15/03/2017", - "autor": "SeiTaN", - "description": "limpieza código" - }, - { - "date": "16/02/2017", - "autor": "Cmos", - "description": "Primera versión" - } - ], - "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": "copiapopuser", - "type": "text", - "color": "0xFF25AA48", - "label": "Usuario Copiapop", - "enabled": true, - "visible": true - }, - { - "id": "copiapoppassword", - "type": "text", - "color": "0xFF25AA48", - "hidden": true, - "label": "Password Copiapop", - "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 From 61f2e7945a0e30b10ce78d8b1dfd0362960ac249 Mon Sep 17 00:00:00 2001 From: Intel1 <25161862+Intel11@users.noreply.github.com> Date: Wed, 11 Oct 2017 14:12:18 -0500 Subject: [PATCH 04/18] Delete copiapop.py --- plugin.video.alfa/channels/copiapop.py | 426 ------------------------- 1 file changed, 426 deletions(-) delete mode 100755 plugin.video.alfa/channels/copiapop.py diff --git a/plugin.video.alfa/channels/copiapop.py b/plugin.video.alfa/channels/copiapop.py deleted file mode 100755 index cf1661d8..00000000 --- a/plugin.video.alfa/channels/copiapop.py +++ /dev/null @@ -1,426 +0,0 @@ -# -*- 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', "copiapop") - -# 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", "copiapop") - - -def login(pagina): - logger.info() - - try: - user = config.get_setting("%suser" % pagina.split(".")[0], "copiapop") - password = config.get_setting("%spassword" % pagina.split(".")[0], "copiapop") - if pagina == "copiapop.com": - if user == "" and password == "": - return False, "Para ver los enlaces de copiapop es necesario registrarse en copiapop.com" - elif user == "" or password == "": - return False, "Copiapop: 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("copiapop.com") - - if not logueado: - itemlist.append(item.clone(title=error_message, action="configuracion", folder=False)) - else: - item.extra = "http://copiapop.com" - itemlist.append(item.clone(title="Copiapop", action="", text_color=color2)) - itemlist.append( - item.clone(title=" Búsqueda", action="search", url="http://copiapop.com/action/SearchFiles")) - itemlist.append(item.clone(title=" Colecciones", action="colecciones", - url="http://copiapop.com/action/home/MoreNewestCollections?pageNumber=1")) - itemlist.append(item.clone(title=" Búsqueda personalizada", action="filtro", - url="http://copiapop.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_copiapop') - 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_copiapop') - 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"(.*?)