diff --git a/plugin.video.alfa/channels/allcalidad.py b/plugin.video.alfa/channels/allcalidad.py index 5153f289..ef3bfdef 100755 --- a/plugin.video.alfa/channels/allcalidad.py +++ b/plugin.video.alfa/channels/allcalidad.py @@ -8,19 +8,17 @@ from platformcode import config, logger host = "http://allcalidad.com/" - def mainlist(item): logger.info() itemlist = [] - itemlist.append(Item(channel=item.channel, title="Novedades", action="peliculas", url=host)) - itemlist.append(Item(channel=item.channel, title="Por género", action="generos_years", url=host, extra="Genero")) - itemlist.append(Item(channel=item.channel, title="Por año", action="generos_years", url=host, extra=">Año<")) - itemlist.append(Item(channel=item.channel, title="Favoritas", action="peliculas", url=host + "/favorites")) - itemlist.append(Item(channel=item.channel, title="")) - itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url=host + "?s=")) + itemlist.append(Item(channel = item.channel, title = "Novedades", action = "peliculas", url = host)) + itemlist.append(Item(channel = item.channel, title = "Por género", action = "generos_years", url = host, extra = "Genero" )) + itemlist.append(Item(channel = item.channel, title = "Por año", action = "generos_years", url = host, extra = ">Año<")) + itemlist.append(Item(channel = item.channel, title = "Favoritas", action = "peliculas", url = host + "/favorites" )) + itemlist.append(Item(channel = item.channel, title = "")) + itemlist.append(Item(channel = item.channel, title = "Buscar", action = "search", url = host + "?s=")) return itemlist - def newest(categoria): logger.info() itemlist = [] @@ -57,16 +55,16 @@ def generos_years(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data - patron = '(?s)%s(.*?)' % item.extra + patron = '(?s)%s(.*?)' %item.extra bloque = scrapertools.find_single_match(data, patron) - patron = 'href="([^"]+)' + patron = 'href="([^"]+)' patron += '">([^<]+)' matches = scrapertools.find_multiple_matches(bloque, patron) for url, titulo in matches: - itemlist.append(Item(channel=item.channel, - action="peliculas", - title=titulo, - url=url + itemlist.append(Item(channel = item.channel, + action = "peliculas", + title = titulo, + url = url )) return itemlist @@ -86,22 +84,22 @@ def peliculas(item): year = scrapertools.find_single_match(varios, 'Año.*?kinopoisk">([^<]+)') year = scrapertools.find_single_match(year, '[0-9]{4}') mtitulo = titulo + " (" + idioma + ") (" + year + ")" - new_item = Item(channel=item.channel, - action="findvideos", - title=mtitulo, - fulltitle=titulo, - thumbnail=thumbnail, - url=url, - contentTitle=titulo, - contentType="movie" - ) + new_item = Item(channel = item.channel, + action = "findvideos", + title = mtitulo, + fulltitle = titulo, + thumbnail = thumbnail, + url = url, + contentTitle = titulo, + contentType="movie" + ) if year: new_item.infoLabels['year'] = int(year) itemlist.append(new_item) url_pagina = scrapertools.find_single_match(data, 'next" href="([^"]+)') if url_pagina != "": pagina = "Pagina: " + scrapertools.find_single_match(url_pagina, "page/([0-9]+)") - itemlist.append(Item(channel=item.channel, action="peliculas", title=pagina, url=url_pagina)) + itemlist.append(Item(channel = item.channel, action = "peliculas", title = pagina, url = url_pagina)) return itemlist @@ -120,25 +118,24 @@ def findvideos(item): elif "vimeo" in url: url += "|" + "http://www.allcalidad.com" itemlist.append( - Item(channel=item.channel, - action="play", - title=titulo, - fulltitle=item.fulltitle, - thumbnail=item.thumbnail, - server=server, - url=url + Item(channel = item.channel, + action = "play", + title = titulo, + fulltitle = item.fulltitle, + thumbnail = item.thumbnail, + server = "", + url = url )) itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize()) if itemlist: - itemlist.append(Item(channel=item.channel)) + itemlist.append(Item(channel = item.channel)) itemlist.append(item.clone(channel="trailertools", title="Buscar Tráiler", action="buscartrailer", context="", text_color="magenta")) # Opción "Añadir esta película a la biblioteca de KODI" if item.extra != "library": if config.get_videolibrary_support(): itemlist.append(Item(channel=item.channel, title="Añadir a la videoteca", text_color="green", - filtro=True, action="add_pelicula_to_library", url=item.url, - thumbnail=item.thumbnail, + filtro=True, action="add_pelicula_to_library", url=item.url, thumbnail = item.thumbnail, infoLabels={'title': item.fulltitle}, fulltitle=item.fulltitle, extra="library")) return itemlist diff --git a/plugin.video.alfa/channels/mocosoftx.json b/plugin.video.alfa/channels/mocosoftx.json deleted file mode 100755 index c8d2a7a2..00000000 --- a/plugin.video.alfa/channels/mocosoftx.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": "mocosoftx", - "name": "MocosoftX", - "active": true, - "adult": true, - "language": "es", - "thumbnail": "mocosoftx.png", - "banner": "mocosoftx.png", - "version": 1, - "changes": [ - { - "date": "15/03/2017", - "description": "limpieza código" - }, - { - "date": "05/08/2016", - "description": "Eliminado de sección películas." - } - ], - "categories": [ - "adult" - ], - "settings": [ - { - "id": "mocosoftxuser", - "type": "text", - "label": "@30014", - "enabled": true, - "visible": true - }, - { - "id": "mocosoftxpassword", - "type": "text", - "label": "@30015", - "enabled": true, - "visible": true, - "hidden": true - } - ] -} \ No newline at end of file diff --git a/plugin.video.alfa/channels/mocosoftx.py b/plugin.video.alfa/channels/mocosoftx.py deleted file mode 100755 index 7ecbe71e..00000000 --- a/plugin.video.alfa/channels/mocosoftx.py +++ /dev/null @@ -1,207 +0,0 @@ -# -*- coding: utf-8 -*- - -import re -import urllib -import urlparse - -from core import scrapertools -from core import servertools -from core.item import Item -from platformcode import config, logger -from platformcode import platformtools - -MAIN_HEADERS = [] -MAIN_HEADERS.append(["Host", "mocosoftx.com"]) -MAIN_HEADERS.append(["User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:8.0) Gecko/20100101 Firefox/8.0"]) -MAIN_HEADERS.append(["Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"]) -MAIN_HEADERS.append(["Accept-Language", "es-es,es;q=0.8,en-us;q=0.5,en;q=0.3"]) -MAIN_HEADERS.append(["Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7"]) -MAIN_HEADERS.append(["Connection", "keep-alive"]) - - -# Login: -#
-# pst: user=blablabla&passwrd=&cookielength=-1&hash_passwrd=78e88DSe408508d22f -# doForm.hash_passwrd.value = hex_sha1(hex_sha1(doForm.user.value.php_to8bit().php_strtolower() + doForm.passwrd.value.php_to8bit()) + cur_session_id); -def login(): - # Averigua el id de sesión - data = scrapertools.cache_page("http://mocosoftx.com/foro/login/") - cur_session_id = scrapertools.get_match(data, - 'form action="[^"]+" name="frmLogin" id="frmLogin" method="post" accept-charset="ISO-8859-1" onsubmit="hashLoginPassword\(this, \'([a-z0-9]+)\'') - cur_session_id = "c95633073dc6afaa813d33b2bfeda520" - logger.info("cur_session_id=" + cur_session_id) - - # Calcula el hash del password - email = config.get_setting("mocosoftxuser", "mocosoftx") - password = config.get_setting("mocosoftxpassword", "mocosoftx") - logger.info("email=" + email) - logger.info("password=" + password) - - # doForm.hash_passwrd.value = hex_sha1(hex_sha1(doForm.user.value.php_to8bit().php_strtolower() + doForm.passwrd.value.php_to8bit()) + cur_session_id); - hash_passwrd = scrapertools.get_sha1(scrapertools.get_sha1(email.lower() + password.lower()) + cur_session_id) - logger.info("hash_passwrd=" + hash_passwrd) - - # Hace el submit del email - # post = "user="+email+"&passwrd=&cookieneverexp=on&hash_passwrd="+hash_passwrd - post = urllib.urlencode({'user': email, "passwrd": password}) + "&cookieneverexp=on&hash_passwrd=" - logger.info("post=" + post) - - headers = [] - headers.append(["Host", "mocosoftx.com"]) - headers.append(["User-Agent", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36"]) - headers.append(["Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"]) - headers.append(["Accept-Language", "es-ES,es;q=0.8,en;q=0.6,gl;q=0.4"]) - headers.append(["Accept-Encoding", "gzip, deflate"]) - headers.append(["Connection", "keep-alive"]) - headers.append(["Referer", "http://mocosoftx.com/foro/login/"]) - headers.append(["Origin", "http://mocosoftx.com"]) - headers.append(["Content-Type", "application/x-www-form-urlencoded"]) - headers.append(["Content-Length", str(len(post))]) - headers.append(["Cache-Control", "max-age=0"]) - headers.append(["Upgrade-Insecure-Requests", "1"]) - - data = scrapertools.cache_page("http://mocosoftx.com/foro/login2/", post=post, headers=headers) - logger.info("data=" + data) - - return True - - -def mainlist(item): - logger.info() - itemlist = [] - - if config.get_setting("mocosoftxuser", "mocosoftx") == "": - itemlist.append( - Item(channel=item.channel, title="Habilita tu cuenta en la configuración...", action="settingCanal", - url="")) - else: - if login(): - item.url = "http://mocosoftx.com/foro/forum/" - itemlist = foro(item) - itemlist.append(Item(channel=item.channel, action="settingCanal", title="Configuración...", url="")) - else: - itemlist.append( - Item(channel=item.channel, title="Cuenta incorrecta, revisa la configuración...", action="", url="", - folder=False)) - - return itemlist - - -def settingCanal(item): - return platformtools.show_channel_settings() - - -def foro(item): - logger.info() - itemlist = [] - - # Descarga la página - data = scrapertools.cache_page(item.url, headers=MAIN_HEADERS) - - # Extrae los foros y subforos - patron = '

]+>([^<]+)' - matches = re.compile(patron, re.DOTALL).findall(data) - scrapertools.printMatches(matches) - for scrapedurl, scrapedtitle in matches: - scrapedtitle = unicode(scrapedtitle, "iso-8859-1", errors="replace").encode("utf-8") - title = ">> Foro " + scrapedtitle - url = urlparse.urljoin(item.url, scrapedurl) - # http://mocosoftx.com/foro/fotos-hentai/?PHPSESSID=nflddqf9nvbm2dd92 - if "PHPSESSID" in url: - url = scrapertools.get_match(url, "(.*?)\?PHPSESSID=") - thumbnail = "" - plot = "" - itemlist.append(Item(channel=item.channel, title=title, action="foro", url=url, plot=plot, thumbnail=thumbnail, - folder=True)) - - # Extrae los hilos individuales - patron = '[^<]+' - patron += '2 - patronvideos = '\d+' - matches = re.compile(patronvideos, re.DOTALL).findall(data) - scrapertools.printMatches(matches) - - if len(matches) > 0: - scrapedtitle = ">> Página siguiente" - scrapedurl = urlparse.urljoin(item.url, matches[0]) - if "PHPSESSID" in scrapedurl: - scrapedurl = scrapertools.get_match(scrapedurl, "(.*?)\?PHPSESSID=") - scrapedthumbnail = "" - scrapedplot = "" - itemlist.append(Item(channel=item.channel, title=scrapedtitle, action="foro", url=scrapedurl, plot=scrapedplot, - thumbnail=scrapedthumbnail, folder=True)) - - return itemlist - - -def findvideos(item): - logger.info() - itemlist = [] - - # Busca el thumbnail y el argumento - data = scrapertools.cache_page(item.url) - logger.info("data=" + data) - - try: - thumbnail = scrapertools.get_match(data, '
.*?