diff --git a/plugin.video.alfa/channels/mejortorrent.py b/plugin.video.alfa/channels/mejortorrent.py index 2a975f77..3f2f8909 100755 --- a/plugin.video.alfa/channels/mejortorrent.py +++ b/plugin.video.alfa/channels/mejortorrent.py @@ -810,19 +810,19 @@ def episodios(item): # Carga la página try: - data = re.sub(r"\n|\r|\t|\s{2}|()", "", httptools.downloadpage(item.url).data) + data_alt = re.sub(r"\n|\r|\t|\s{2}|()", "", httptools.downloadpage(item.url).data) except: #Algún error de proceso, salimos logger.error("ERROR 01: EPISODIOS: La Web no responde o la URL es erronea" + item.url) itemlist.append(item.clone(action='', title=item.channel.capitalize() + ': ERROR 01: EPISODIOS:. La Web no responde o la URL es erronea. Si la Web está activa, reportar el error con el log')) return itemlist #Datos para crear el Post. Usado para documentales - total_capis = scrapertools.find_single_match(data, "") - tabla = scrapertools.find_single_match(data, "") - titulo_post = scrapertools.find_single_match(data, "") + total_capis = scrapertools.find_single_match(data_alt, "") + tabla = scrapertools.find_single_match(data_alt, "") + titulo_post = scrapertools.find_single_match(data_alt, "") # Selecciona en tramo que nos interesa - data = scrapertools.find_single_match(data, + data = scrapertools.find_single_match(data_alt, "(
.*?)
") # Prepara el patrón de búsqueda de: URL, título, fechas y dos valores mas sin uso @@ -836,9 +836,9 @@ def episodios(item): matches = re.compile(patron, re.DOTALL).findall(data) if not matches: #error - item = generictools.web_intervenida(item, data) #Verificamos que no haya sido clausurada + item = generictools.web_intervenida(item, data_alt) #Verificamos que no haya sido clausurada if item.intervencion: #Sí ha sido clausurada judicialmente - item, itemlist = generictools.post_tmdb_findvideos(item, itemlist) #Llamamos al método para el pintado del error + item, itemlist = generictools.post_tmdb_episodios(item, itemlist) #Llamamos al método para el pintado del error return itemlist #Salimos logger.error("ERROR 02: EPISODIOS: Ha cambiado la estructura de la Web " + " / PATRON: " + patron + " / DATA: " + data) diff --git a/plugin.video.alfa/channels/mejortorrent1.py b/plugin.video.alfa/channels/mejortorrent1.py index 8c82d512..cae2136d 100644 --- a/plugin.video.alfa/channels/mejortorrent1.py +++ b/plugin.video.alfa/channels/mejortorrent1.py @@ -529,10 +529,9 @@ def listado_busqueda(item): return itemlist #si no hay más datos, algo no funciona, pintamos lo que tenemos cnt_next += 1 - # busca series y Novedades - patron = '\(([^>]+)\)<\/a><\/td>' #título - patron += '([^>]+)<\/td><\/tr>' #calidad y tipo de contenido + patron = '\(([^>]+)?\)<\/a><\/td>' #calidad + patron += '([^>]+)<\/td><\/tr>' #tipo de contenido matches_alt = scrapertools.find_multiple_matches(data, patron) i = 0 @@ -846,8 +845,7 @@ def findvideos(item): def episodios(item): logger.info() itemlist = [] - - logger.debug(item) + # Obtener la información actualizada de la Serie. TMDB es imprescindible para Videoteca if not item.infoLabels['tmdb_id']: tmdb.set_infoLabels(item, True) diff --git a/plugin.video.alfa/lib/generictools.py b/plugin.video.alfa/lib/generictools.py index b67cb9a6..0142ea08 100644 --- a/plugin.video.alfa/lib/generictools.py +++ b/plugin.video.alfa/lib/generictools.py @@ -417,6 +417,8 @@ def post_tmdb_episodios(item, itemlist): del item.url_alt if item.title_from_channel: del item.title_from_channel + if item.ow_force: + del item.ow_force for item_local in itemlist: #Recorremos el Itemlist generado por el canal if item_local.add_videolibrary: @@ -443,6 +445,8 @@ def post_tmdb_episodios(item, itemlist): del item_local.channel_host if item_local.intervencion: del item_local.intervencion + if item_local.ow_force: + del item_local.ow_force #logger.debug(item_local) #Ajustamos el nombre de la categoría si es un clone de NewPct1 @@ -1036,10 +1040,10 @@ def redirect_clone_newpct1(item, head_nfo=None, it=None, overwrite=False, path=F - ow_force: indicador para la acción de "videolibrary_service.py". Puede crear la variable item.ow_force: - force: indica al canal que analize toda la serie y que videolibrary_service la reescriba - auto: indica a videolibrary_service que la reescriba - - no: no acción especial para videolibrary_service + - no: no acción para videolibrary_service, solo redirige en visionado de videolibrary ejemplo: ('1', 'mejortorrent', 'mejortorrent1', 'http://www.mejortorrent.com/', 'https://mejortorrent1.com/', 'auto') - La llamada recibe el parámetro Item, el .nfoy los devuleve actualizados, así como opcionalmente el parámetro "overwrite· que puede forzar la reescritura de todos los archivos de la serie + La llamada recibe el parámetro Item, el .nfo y los devuleve actualizados, así como opcionalmente el parámetro "overwrite· que puede forzar la reescritura de todos los archivos de la serie, y el parámetro "path" si viene de videolibrary_service """ if not it: @@ -1078,12 +1082,15 @@ def redirect_clone_newpct1(item, head_nfo=None, it=None, overwrite=False, path=F if item.contentType == "list": #Si viene de Videolibrary, le cambiamos ya el canal if item.channel != channel_py: item.channel = canal_des #Cambiamos el canal. Si es clone, lo hace el canal - if item.contentType not in content_inc: + continue #Salimos sin hacer nada más. item está casi vacío + if item.contentType not in content_inc and "*" not in content_inc: #Está el contenido el la lista de incluidos continue - if item.contentType in content_exc: #Es esta nuestra entrada? + if item.contentType in content_exc: #Está el contenido excluido? continue if channel_enabled and canal_org != canal_des: #Si el canal está activo, puede ser solo... continue #... una intervención que afecte solo a una región + if ow_force == 'no' and path != False: #Queremos que el canal solo visualice sin migración? + continue #Salimos sin tocas archivos item.url = item.url.replace(url_org, url_des) #reemplzamos una parte de url if patron1: #Hay expresión regex? url = scrapertools.find_single_match(item.url, patron1) #La aplicamos a url @@ -1117,6 +1124,7 @@ def redirect_clone_newpct1(item, head_nfo=None, it=None, overwrite=False, path=F if ow_force in ['force', 'auto']: #Sobreescribir la series? overwrite = ow_force_param #Sí, lo marcamos + if item.contentType in ['tvshow', 'season'] and it.library_urls: if path == False: TVSHOWS_PATH = item.path