From 75baffaf0e41032da74964121e2c4eedd98d2cfb Mon Sep 17 00:00:00 2001 From: Intel1 Date: Wed, 20 Feb 2019 14:16:04 -0500 Subject: [PATCH] Actualizaciones MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Correcciones en los idiomas -gamovideo: Mejora para obtener los enlaces -thevid: Corrección para obtener los enlaces --- plugin.video.alfa/core/httptools.py | 81 +++++++++++-------- plugin.video.alfa/core/scraper.py | 2 +- plugin.video.alfa/core/tmdb.py | 4 +- .../resources/language/English/strings.po | 14 +--- .../resources/language/Italian/strings.po | 16 +--- .../language/Spanish (Argentina)/strings.po | 16 +--- .../language/Spanish (Mexico)/strings.po | 16 +--- .../resources/language/Spanish/strings.po | 16 +--- plugin.video.alfa/servers/gamovideo.py | 12 ++- plugin.video.alfa/servers/thevid.py | 2 +- 10 files changed, 70 insertions(+), 109 deletions(-) diff --git a/plugin.video.alfa/core/httptools.py b/plugin.video.alfa/core/httptools.py index 03d8fd29..d846c118 100644 --- a/plugin.video.alfa/core/httptools.py +++ b/plugin.video.alfa/core/httptools.py @@ -99,7 +99,7 @@ load_cookies() def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=True, cookies=True, replace_headers=False, - add_referer=False, only_headers=False, bypass_cloudflare=True, count_retries=0, random_headers=False, ignore_response_code=False): + add_referer=False, only_headers=False, bypass_cloudflare=True, count_retries=0, random_headers=False, ignore_response_code=False, alfa_s=False): """ Abre una url y retorna los datos obtenidos @@ -164,22 +164,23 @@ def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=Tr if timeout is None and HTTPTOOLS_DEFAULT_DOWNLOAD_TIMEOUT is not None: timeout = HTTPTOOLS_DEFAULT_DOWNLOAD_TIMEOUT if timeout == 0: timeout = None - logger.info("----------------------------------------------") - logger.info("downloadpage Alfa: %s" %__version) - logger.info("----------------------------------------------") - logger.info("Timeout: %s" % timeout) - logger.info("URL: " + url) - logger.info("Dominio: " + urlparse.urlparse(url)[1]) - if post: - logger.info("Peticion: POST") - else: - logger.info("Peticion: GET") - logger.info("Usar Cookies: %s" % cookies) - logger.info("Descargar Pagina: %s" % (not only_headers)) - logger.info("Fichero de Cookies: " + ficherocookies) - logger.info("Headers:") - for header in request_headers: - logger.info("- %s: %s" % (header, request_headers[header])) + if not alfa_s: + logger.info("----------------------------------------------") + logger.info("downloadpage Alfa: %s" %__version) + logger.info("----------------------------------------------") + logger.info("Timeout: %s" % timeout) + logger.info("URL: " + url) + logger.info("Dominio: " + urlparse.urlparse(url)[1]) + if post: + logger.info("Peticion: POST") + else: + logger.info("Peticion: GET") + logger.info("Usar Cookies: %s" % cookies) + logger.info("Descargar Pagina: %s" % (not only_headers)) + logger.info("Fichero de Cookies: " + ficherocookies) + logger.info("Headers:") + for header in request_headers: + logger.info("- %s: %s" % (header, request_headers[header])) # Handlers handlers = [urllib2.HTTPHandler(debuglevel=False)] @@ -192,7 +193,8 @@ def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=Tr opener = urllib2.build_opener(*handlers) - logger.info("Realizando Peticion") + if not alfa_s: + logger.info("Realizando Peticion") # Contador inicio = time.time() @@ -243,15 +245,17 @@ def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=Tr response["time"] = time.time() - inicio response["url"] = handle.geturl() - logger.info("Terminado en %.2f segundos" % (response["time"])) - logger.info("Response sucess: %s" % (response["sucess"])) - logger.info("Response code: %s" % (response["code"])) - logger.info("Response error: %s" % (response["error"])) - logger.info("Response data length: %s" % (len(response["data"]))) - logger.info("Response headers:") + if not alfa_s: + logger.info("Terminado en %.2f segundos" % (response["time"])) + logger.info("Response sucess: %s" % (response["sucess"])) + logger.info("Response code: %s" % (response["code"])) + logger.info("Response error: %s" % (response["error"])) + logger.info("Response data length: %s" % (len(response["data"]))) + logger.info("Response headers:") server_cloudflare = "" for header in response["headers"]: - logger.info("- %s: %s" % (header, response["headers"][header])) + if not alfa_s: + logger.info("- %s: %s" % (header, response["headers"][header])) if "cloudflare" in response["headers"][header]: server_cloudflare = "cloudflare" @@ -266,22 +270,27 @@ def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=Tr if cookies: save_cookies() - logger.info("Encoding: %s" % (response["headers"].get('content-encoding'))) + if not alfa_s: + logger.info("Encoding: %s" % (response["headers"].get('content-encoding'))) if response["headers"].get('content-encoding') == 'gzip': - logger.info("Descomprimiendo...") + if not alfa_s: + logger.info("Descomprimiendo...") data_alt = response["data"] try: response["data"] = gzip.GzipFile(fileobj=StringIO(response["data"])).read() - logger.info("Descomprimido") + if not alfa_s: + logger.info("Descomprimido") except: - logger.info("No se ha podido descomprimir con gzip. Intentando con zlib") + if not alfa_s: + logger.info("No se ha podido descomprimir con gzip. Intentando con zlib") response["data"] = data_alt try: import zlib response["data"] = zlib.decompressobj(16 + zlib.MAX_WBITS).decompress(response["data"]) except: - logger.info("No se ha podido descomprimir con zlib") + if not alfa_s: + logger.info("No se ha podido descomprimir con zlib") response["data"] = data_alt # Anti Cloudflare @@ -289,11 +298,14 @@ def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=Tr cf = Cloudflare(response) if cf.is_cloudflare: count_retries += 1 - logger.info("cloudflare detectado, esperando %s segundos..." % cf.wait_time) + if not alfa_s: + logger.info("cloudflare detectado, esperando %s segundos..." % cf.wait_time) auth_url = cf.get_url() - logger.info("Autorizando... intento %d url: %s" % (count_retries, auth_url)) + if not alfa_s: + logger.info("Autorizando... intento %d url: %s" % (count_retries, auth_url)) if downloadpage(auth_url, headers=request_headers, replace_headers=True, count_retries=count_retries).sucess: - logger.info("Autorización correcta, descargando página") + if not alfa_s: + logger.info("Autorización correcta, descargando página") resp = downloadpage(url=response["url"], post=post, headers=headers, timeout=timeout, follow_redirects=follow_redirects, cookies=cookies, replace_headers=replace_headers, add_referer=add_referer) @@ -305,7 +317,8 @@ def downloadpage(url, post=None, headers=None, timeout=None, follow_redirects=Tr response["time"] = resp.time response["url"] = resp.url else: - logger.info("No se ha podido autorizar") + if not alfa_s: + logger.info("No se ha podido autorizar") return type('HTTPResponse', (), response) diff --git a/plugin.video.alfa/core/scraper.py b/plugin.video.alfa/core/scraper.py index ea229982..7f02a470 100755 --- a/plugin.video.alfa/core/scraper.py +++ b/plugin.video.alfa/core/scraper.py @@ -151,7 +151,7 @@ def cuadro_completar(item): 'default': mediatype_default, 'enabled': True, 'visible': True, - 'lvalues': [config.get_localized_string(60244), config.get_localized_string(60245)] + 'lvalues': [config.get_localized_string(60244), config.get_localized_string(70136)] }] for i, c in enumerate(controls): diff --git a/plugin.video.alfa/core/tmdb.py b/plugin.video.alfa/core/tmdb.py index 72c709e5..a72bea42 100644 --- a/plugin.video.alfa/core/tmdb.py +++ b/plugin.video.alfa/core/tmdb.py @@ -455,7 +455,7 @@ def find_and_set_infoLabels(item): title = item.contentTitle else: tipo_busqueda = "tv" - tipo_contenido = config.get_localized_string(70529) + tipo_contenido = config.get_localized_string(60245) title = item.contentSerieName # Si el titulo incluye el (año) se lo quitamos @@ -478,7 +478,7 @@ def find_and_set_infoLabels(item): if len(results) > 1: from platformcode import platformtools tmdb_result = platformtools.show_video_info(results, item=item, - caption="[%s]: Selecciona la %s correcta" % (title, tipo_contenido)) + caption=config.get_localized_string(60247) %(title, tipo_contenido)) elif len(results) > 0: tmdb_result = results[0] diff --git a/plugin.video.alfa/resources/language/English/strings.po b/plugin.video.alfa/resources/language/English/strings.po index a5905f12..bc9d9672 100644 --- a/plugin.video.alfa/resources/language/English/strings.po +++ b/plugin.video.alfa/resources/language/English/strings.po @@ -1046,7 +1046,7 @@ msgid "Movie" msgstr "" msgctxt "#60245" -msgid "Series" +msgid "tv show" msgstr "" msgctxt "#60246" @@ -1249,10 +1249,6 @@ msgctxt "#60297" msgid "Find %s possible matches" msgstr "" -msgctxt "#60298" -msgid "[%s]: Select the correct TV series" -msgstr "" - msgctxt "#60299" msgid "Not found in the language '%s'" msgstr "" @@ -4267,10 +4263,6 @@ msgctxt "#70392" msgid "Rate with a [COLOR %s]%s[/ COLOR]" msgstr "" -msgctxt "#70393" -msgid "[%s]: Select the correct %s " -msgstr "" - msgctxt "#70394" msgid "Action" msgstr "" @@ -4811,10 +4803,6 @@ msgctxt "#70528" msgid "Default folder" msgstr "" -msgctxt "#70529" -msgid "Repeated link" -msgstr "" - msgctxt "#70530" msgid "You already have this link in the folder" msgstr "" diff --git a/plugin.video.alfa/resources/language/Italian/strings.po b/plugin.video.alfa/resources/language/Italian/strings.po index 0e9d857e..e53d690e 100644 --- a/plugin.video.alfa/resources/language/Italian/strings.po +++ b/plugin.video.alfa/resources/language/Italian/strings.po @@ -1034,8 +1034,8 @@ msgid "Movie" msgstr "Film" msgctxt "#60245" -msgid "Series" -msgstr "Serie" +msgid "tv show" +msgstr "serie" msgctxt "#60246" msgid "Full information" @@ -1237,10 +1237,6 @@ msgctxt "#60297" msgid "Find %s possible matches" msgstr "Trovate %s possibili corrispondenze" -msgctxt "#60298" -msgid "[%s]: Select the correct TV series" -msgstr "[%s]: Seleziona la serie corretta" - msgctxt "#60299" msgid "Not found in the language '%s'" msgstr "Non trovato nella lingua '%s'" @@ -4247,10 +4243,6 @@ msgctxt "#70392" msgid "Rate with a [COLOR %s]%s[/ COLOR]" msgstr "Dai un punteggio con un [COLOR %s]%s[/COLOR]" -msgctxt "#70393" -msgid "[%s]: Select the correct %s " -msgstr "[%s]: Seleziona il %s corretto" - msgctxt "#70394" msgid "Action" msgstr "Azione" @@ -4799,10 +4791,6 @@ msgctxt "#70528" msgid "Default folder" msgstr "Cartella di Default" -msgctxt "#70529" -msgid "Repeated link" -msgstr "Link ripetuto" - msgctxt "#70530" msgid "You already have this link in the folder" msgstr "C'è già un link nella cartella" diff --git a/plugin.video.alfa/resources/language/Spanish (Argentina)/strings.po b/plugin.video.alfa/resources/language/Spanish (Argentina)/strings.po index ab7ad8c0..8986f352 100644 --- a/plugin.video.alfa/resources/language/Spanish (Argentina)/strings.po +++ b/plugin.video.alfa/resources/language/Spanish (Argentina)/strings.po @@ -1046,8 +1046,8 @@ msgid "Movie" msgstr "Película" msgctxt "#60245" -msgid "Series" -msgstr "Serie" +msgid "tv show" +msgstr "serie" msgctxt "#60246" msgid "Full information" @@ -1249,10 +1249,6 @@ msgctxt "#60297" msgid "Find %s possible matches" msgstr "Encontrados %s posibles coincidencias" -msgctxt "#60298" -msgid "[%s]: Select the correct TV series" -msgstr "[%s]: Selecciona la serie correcta" - msgctxt "#60299" msgid "Not found in the language '%s'" msgstr "No se ha encontrado en idioma '%s'" @@ -4263,10 +4259,6 @@ msgctxt "#70392" msgid "Rate with a [COLOR %s]%s[/ COLOR]" msgstr "Puntuar con un [COLOR %s]%s[/COLOR]" -msgctxt "#70393" -msgid "[%s]: Select the correct %s " -msgstr "[%s]: Selecciona la %s correcta" - msgctxt "#70394" msgid "Action" msgstr "Accion" @@ -4811,10 +4803,6 @@ msgctxt "#70528" msgid "Default folder" msgstr "Carpeta por defecto" -msgctxt "#70529" -msgid "Repeated link" -msgstr "Enlace repetido" - msgctxt "#70530" msgid "You already have this link in the folder" msgstr "Ya tienes este enlace en la carpeta" diff --git a/plugin.video.alfa/resources/language/Spanish (Mexico)/strings.po b/plugin.video.alfa/resources/language/Spanish (Mexico)/strings.po index ab7ad8c0..8986f352 100644 --- a/plugin.video.alfa/resources/language/Spanish (Mexico)/strings.po +++ b/plugin.video.alfa/resources/language/Spanish (Mexico)/strings.po @@ -1046,8 +1046,8 @@ msgid "Movie" msgstr "Película" msgctxt "#60245" -msgid "Series" -msgstr "Serie" +msgid "tv show" +msgstr "serie" msgctxt "#60246" msgid "Full information" @@ -1249,10 +1249,6 @@ msgctxt "#60297" msgid "Find %s possible matches" msgstr "Encontrados %s posibles coincidencias" -msgctxt "#60298" -msgid "[%s]: Select the correct TV series" -msgstr "[%s]: Selecciona la serie correcta" - msgctxt "#60299" msgid "Not found in the language '%s'" msgstr "No se ha encontrado en idioma '%s'" @@ -4263,10 +4259,6 @@ msgctxt "#70392" msgid "Rate with a [COLOR %s]%s[/ COLOR]" msgstr "Puntuar con un [COLOR %s]%s[/COLOR]" -msgctxt "#70393" -msgid "[%s]: Select the correct %s " -msgstr "[%s]: Selecciona la %s correcta" - msgctxt "#70394" msgid "Action" msgstr "Accion" @@ -4811,10 +4803,6 @@ msgctxt "#70528" msgid "Default folder" msgstr "Carpeta por defecto" -msgctxt "#70529" -msgid "Repeated link" -msgstr "Enlace repetido" - msgctxt "#70530" msgid "You already have this link in the folder" msgstr "Ya tienes este enlace en la carpeta" diff --git a/plugin.video.alfa/resources/language/Spanish/strings.po b/plugin.video.alfa/resources/language/Spanish/strings.po index ab7ad8c0..8986f352 100644 --- a/plugin.video.alfa/resources/language/Spanish/strings.po +++ b/plugin.video.alfa/resources/language/Spanish/strings.po @@ -1046,8 +1046,8 @@ msgid "Movie" msgstr "Película" msgctxt "#60245" -msgid "Series" -msgstr "Serie" +msgid "tv show" +msgstr "serie" msgctxt "#60246" msgid "Full information" @@ -1249,10 +1249,6 @@ msgctxt "#60297" msgid "Find %s possible matches" msgstr "Encontrados %s posibles coincidencias" -msgctxt "#60298" -msgid "[%s]: Select the correct TV series" -msgstr "[%s]: Selecciona la serie correcta" - msgctxt "#60299" msgid "Not found in the language '%s'" msgstr "No se ha encontrado en idioma '%s'" @@ -4263,10 +4259,6 @@ msgctxt "#70392" msgid "Rate with a [COLOR %s]%s[/ COLOR]" msgstr "Puntuar con un [COLOR %s]%s[/COLOR]" -msgctxt "#70393" -msgid "[%s]: Select the correct %s " -msgstr "[%s]: Selecciona la %s correcta" - msgctxt "#70394" msgid "Action" msgstr "Accion" @@ -4811,10 +4803,6 @@ msgctxt "#70528" msgid "Default folder" msgstr "Carpeta por defecto" -msgctxt "#70529" -msgid "Repeated link" -msgstr "Enlace repetido" - msgctxt "#70530" msgid "You already have this link in the folder" msgstr "Ya tienes este enlace en la carpeta" diff --git a/plugin.video.alfa/servers/gamovideo.py b/plugin.video.alfa/servers/gamovideo.py index b67149ff..8a5c6e7d 100755 --- a/plugin.video.alfa/servers/gamovideo.py +++ b/plugin.video.alfa/servers/gamovideo.py @@ -7,10 +7,15 @@ from core import scrapertools from lib import jsunpack from platformcode import logger +headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"} + def test_video_exists(page_url): logger.info("(page_url='%s')" % page_url) - data = httptools.downloadpage(page_url).data + data = httptools.downloadpage(page_url) + if data.code==404: + data = httptools.downloadpage(page_url, headers=headers, add_referer=True) + data = data.data if "File was deleted" in data or "Not Found" in data or "File was locked by administrator" in data: return False, "[Gamovideo] El archivo no existe o ha sido borrado" @@ -23,7 +28,10 @@ def test_video_exists(page_url): def get_video_url(page_url, premium=False, user="", password="", video_password=""): logger.info("(page_url='%s')" % page_url) - data = httptools.downloadpage(page_url).data + data = httptools.downloadpage(page_url) + if data.code==404: + data = httptools.downloadpage(page_url, headers=headers, add_referer=True) + data = data.data packer = scrapertools.find_single_match(data, "") if packer != "": diff --git a/plugin.video.alfa/servers/thevid.py b/plugin.video.alfa/servers/thevid.py index 17e13d90..0b0f6b59 100644 --- a/plugin.video.alfa/servers/thevid.py +++ b/plugin.video.alfa/servers/thevid.py @@ -25,7 +25,7 @@ def get_video_url(page_url, user="", password="", video_password=""): unpacked = jsunpack.unpack(pack) logger.info("Intel11 %s" %unpacked) if "ldaa" in unpacked: - videos = scrapertools.find_multiple_matches(unpacked, 'lda.="([^"]+)') + videos = scrapertools.find_multiple_matches(unpacked, '(?is)lda.="([^"]+)') video_urls = [] for video in videos: if not video.startswith("//"):