diff --git a/plugin.video.alfa/channels/descargas2020.py b/plugin.video.alfa/channels/descargas2020.py index 7de30a6b..4008919a 100644 --- a/plugin.video.alfa/channels/descargas2020.py +++ b/plugin.video.alfa/channels/descargas2020.py @@ -133,7 +133,8 @@ def listado(item): for scrapedurl, scrapedtitle, scrapedthumbnail, title_alt, calidad in matches: url = scrapedurl - title = scrapedtitle + title = scrapedtitle.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") + title_alt = title_alt.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") thumbnail = scrapedthumbnail action = "findvideos" extra = "" @@ -209,10 +210,11 @@ def listado_busqueda(item): for url, thumb, title in matches: real_title = scrapertools.find_single_match(title, r'(.*?)Temporada.*?<\/strong>') #series - if real_title == "": + if not real_title: real_title = scrapertools.find_single_match(title, r'(.*?)\[.*?]') #movies real_title = scrapertools.remove_htmltags(real_title).decode('iso-8859-1').encode('utf-8') real_title = scrapertools.htmlclean(real_title) + real_title = real_title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") calidad = scrapertools.find_single_match(title, r'.*?\s*Calidad.*?]+>[\[]\s*(?P.*?)\s*[\]]<\/span>') #series if calidad == "": calidad = scrapertools.find_single_match(title, r'..*?(\[.*?.*\])') #movies @@ -220,9 +222,8 @@ def listado_busqueda(item): # fix encoding for title title = scrapertools.htmlclean(title) - title = title.replace("�", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng") title = re.sub(r'(Calidad.*?\])', '', title) - + title = title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") if real_title == "": real_title = title if calidad == "": @@ -236,18 +237,22 @@ def listado_busqueda(item): # Codigo para rescatar lo que se puede en pelisy.series.com de Series para la Videoteca. la URL apunta al capítulo y no a la Serie. Nombre de Serie frecuentemente en blanco. Se obtiene de Thumb, así como el id de la serie if ("/serie" in url or "-serie" in url) and "pelisyseries.com" in host: - calidad_mps = "series/" if "seriehd" in url: calidad_mps = "series-hd/" - if "serievo" in url: + elif "serievo" in url: calidad_mps = "series-vo/" - if "serie-vo" in url: + elif "serie-vo" in url: calidad_mps = "series-vo/" + else: + calidad_mps = "series/" - real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) - real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) + if "no_image" in thumb: + real_title_mps = title + else: + real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) + real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) - if "/0_" not in thumb: + if "/0_" not in thumb and not "no_image" in thumb: serieid = scrapertools.find_single_match(thumb, r'.*?\/\w\/(?P\d+).*?.*') if len(serieid) > 5: serieid = "" @@ -507,6 +512,11 @@ def episodios(item): "[\[]\s*(?P.*?)?\s*[\]]<\/span>" if "Especial" in info: # Capitulos Especiales pattern = ".*?[^>]+>.*?Temporada.*?\[.*?(?P\d+).*?\].*?Capitulo.*?\[\s*(?P\d+).*?\]?(?:.*?(?P\d+)?)<.+?]+>(?P.*?)?<\/span>\s*Calidad\s*]+>[\[]\s*(?P.*?)?\s*[\]]<\/span>" + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioNEW: " + pattern) + logger.debug(info) + info = '>%sTemporada %s Capitulo 0 - Español Castellano Calidad [%s]' % (item.contentTitle, season, item.infoLabels['quality']) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] @@ -540,11 +550,11 @@ def episodios(item): "(?P\d{2}))?.*?\].*?(?:\[(?P.*?)\])?" elif scrapertools.find_single_match(info, 'Cap.\d{2,3}'): pattern = ".*?Temp.*?\s(?P.*?)\s.*?Cap.(?P\d).*?(?P\d{2})(?:_(?P\d+)(?P\d{2}))?.*?\s(?P.*)?" - else: - logger.debug("patron episodio: " + pattern) + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioOLD: " + pattern) logger.debug(info) - continue - + info = '%s [%s][Cap.%s00][Español]' % (item.contentTitle, item.infoLabels['quality'], season) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] diff --git a/plugin.video.alfa/channels/mejortorrent.py b/plugin.video.alfa/channels/mejortorrent.py index f085f160..c31662f6 100755 --- a/plugin.video.alfa/channels/mejortorrent.py +++ b/plugin.video.alfa/channels/mejortorrent.py @@ -254,7 +254,7 @@ def episodios(item): url = host + scrapertools.find_single_match(data,patron) # "episodios%5B1%5D=11744&total_capis=5&tabla=series&titulo=Sea+Patrol+-+2%AA+Temporada" post = urllib.urlencode({name: value, "total_capis": total_capis, "tabla": tabla, "titulo": titulo}) - logger.debug("post=" + post) + #logger.debug("post=" + post) if item.extra == "series": epi = scrapedtitle.split("x") @@ -311,7 +311,6 @@ def show_movie_info(item): pass data = httptools.downloadpage(item.url).data - logger.debug("data=" + data) patron = "") + if scrapertools.find_single_match(torrent_data, ""): + link = scrapertools.get_match(torrent_data, "") + else: + link = scrapertools.get_match(torrent_data, "") link = urlparse.urljoin(url, link) logger.debug("link=" + link) itemlist.append(Item(channel=item.channel, action="play", server="torrent", title=item.title, url=link, @@ -363,7 +364,7 @@ def play(item): else: #data = httptools.downloadpage(item.url, post=item.extra).data data = httptools.downloadpage(item.url).data - logger.debug("data=" + data) + #logger.debug("data=" + data) params = dict(urlparse.parse_qsl(item.extra)) patron = host + "/secciones.php?sec=descargas&ap=contar&tabla=" + params["tabla"] + "&id=" + item.id @@ -373,7 +374,9 @@ def play(item): data = httptools.downloadpage(patron).data patron = "Pincha " - link = host + scrapertools.find_single_match(data, patron) + link = scrapertools.find_single_match(data, patron) + if not host in link: + link = host + link logger.info("link=" + link) itemlist.append(Item(channel=item.channel, action="play", server="torrent", title=item.title, url=link, thumbnail=item.thumbnail, plot=item.plot, folder=False)) diff --git a/plugin.video.alfa/channels/mispelisyseries.py b/plugin.video.alfa/channels/mispelisyseries.py index f58462a8..7c6ae65b 100644 --- a/plugin.video.alfa/channels/mispelisyseries.py +++ b/plugin.video.alfa/channels/mispelisyseries.py @@ -10,7 +10,7 @@ from core.item import Item from platformcode import config, logger from core import tmdb -host = 'http://www.mispelisyseries.com/' +host = 'http://mispelisyseries.com/' def mainlist(item): logger.info() @@ -133,7 +133,8 @@ def listado(item): for scrapedurl, scrapedtitle, scrapedthumbnail, title_alt, calidad in matches: url = scrapedurl - title = scrapedtitle + title = scrapedtitle.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") + title_alt = title_alt.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") thumbnail = scrapedthumbnail action = "findvideos" extra = "" @@ -209,10 +210,11 @@ def listado_busqueda(item): for url, thumb, title in matches: real_title = scrapertools.find_single_match(title, r'(.*?)Temporada.*?<\/strong>') #series - if real_title == "": + if not real_title: real_title = scrapertools.find_single_match(title, r'(.*?)\[.*?]') #movies real_title = scrapertools.remove_htmltags(real_title).decode('iso-8859-1').encode('utf-8') real_title = scrapertools.htmlclean(real_title) + real_title = real_title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") calidad = scrapertools.find_single_match(title, r'.*?\s*Calidad.*?]+>[\[]\s*(?P.*?)\s*[\]]<\/span>') #series if calidad == "": calidad = scrapertools.find_single_match(title, r'..*?(\[.*?.*\])') #movies @@ -220,9 +222,8 @@ def listado_busqueda(item): # fix encoding for title title = scrapertools.htmlclean(title) - title = title.replace("�", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng") title = re.sub(r'(Calidad.*?\])', '', title) - + title = title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") if real_title == "": real_title = title if calidad == "": @@ -236,18 +237,22 @@ def listado_busqueda(item): # Codigo para rescatar lo que se puede en pelisy.series.com de Series para la Videoteca. la URL apunta al capítulo y no a la Serie. Nombre de Serie frecuentemente en blanco. Se obtiene de Thumb, así como el id de la serie if ("/serie" in url or "-serie" in url) and "pelisyseries.com" in host: - calidad_mps = "series/" if "seriehd" in url: calidad_mps = "series-hd/" - if "serievo" in url: + elif "serievo" in url: calidad_mps = "series-vo/" - if "serie-vo" in url: + elif "serie-vo" in url: calidad_mps = "series-vo/" + else: + calidad_mps = "series/" - real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) - real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) + if "no_image" in thumb: + real_title_mps = title + else: + real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) + real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) - if "/0_" not in thumb: + if "/0_" not in thumb and not "no_image" in thumb: serieid = scrapertools.find_single_match(thumb, r'.*?\/\w\/(?P\d+).*?.*') if len(serieid) > 5: serieid = "" @@ -507,6 +512,11 @@ def episodios(item): "[\[]\s*(?P.*?)?\s*[\]]<\/span>" if "Especial" in info: # Capitulos Especiales pattern = ".*?[^>]+>.*?Temporada.*?\[.*?(?P\d+).*?\].*?Capitulo.*?\[\s*(?P\d+).*?\]?(?:.*?(?P\d+)?)<.+?]+>(?P.*?)?<\/span>\s*Calidad\s*]+>[\[]\s*(?P.*?)?\s*[\]]<\/span>" + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioNEW: " + pattern) + logger.debug(info) + info = '>%sTemporada %s Capitulo 0 - Español Castellano Calidad [%s]' % (item.contentTitle, season, item.infoLabels['quality']) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] @@ -540,11 +550,11 @@ def episodios(item): "(?P\d{2}))?.*?\].*?(?:\[(?P.*?)\])?" elif scrapertools.find_single_match(info, 'Cap.\d{2,3}'): pattern = ".*?Temp.*?\s(?P.*?)\s.*?Cap.(?P\d).*?(?P\d{2})(?:_(?P\d+)(?P\d{2}))?.*?\s(?P.*)?" - else: - logger.debug("patron episodio: " + pattern) + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioOLD: " + pattern) logger.debug(info) - continue - + info = '%s [%s][Cap.%s00][Español]' % (item.contentTitle, item.infoLabels['quality'], season) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] diff --git a/plugin.video.alfa/channels/torrentlocura.py b/plugin.video.alfa/channels/torrentlocura.py index 2d3d50c6..78ebcfa8 100755 --- a/plugin.video.alfa/channels/torrentlocura.py +++ b/plugin.video.alfa/channels/torrentlocura.py @@ -133,7 +133,8 @@ def listado(item): for scrapedurl, scrapedtitle, scrapedthumbnail, title_alt, calidad in matches: url = scrapedurl - title = scrapedtitle + title = scrapedtitle.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") + title_alt = title_alt.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") thumbnail = scrapedthumbnail action = "findvideos" extra = "" @@ -209,10 +210,11 @@ def listado_busqueda(item): for url, thumb, title in matches: real_title = scrapertools.find_single_match(title, r'(.*?)Temporada.*?<\/strong>') #series - if real_title == "": + if not real_title: real_title = scrapertools.find_single_match(title, r'(.*?)\[.*?]') #movies real_title = scrapertools.remove_htmltags(real_title).decode('iso-8859-1').encode('utf-8') real_title = scrapertools.htmlclean(real_title) + real_title = real_title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") calidad = scrapertools.find_single_match(title, r'.*?\s*Calidad.*?]+>[\[]\s*(?P.*?)\s*[\]]<\/span>') #series if calidad == "": calidad = scrapertools.find_single_match(title, r'..*?(\[.*?.*\])') #movies @@ -220,9 +222,8 @@ def listado_busqueda(item): # fix encoding for title title = scrapertools.htmlclean(title) - title = title.replace("�", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng") title = re.sub(r'(Calidad.*?\])', '', title) - + title = title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") if real_title == "": real_title = title if calidad == "": @@ -236,18 +237,22 @@ def listado_busqueda(item): # Codigo para rescatar lo que se puede en pelisy.series.com de Series para la Videoteca. la URL apunta al capítulo y no a la Serie. Nombre de Serie frecuentemente en blanco. Se obtiene de Thumb, así como el id de la serie if ("/serie" in url or "-serie" in url) and "pelisyseries.com" in host: - calidad_mps = "series/" if "seriehd" in url: calidad_mps = "series-hd/" - if "serievo" in url: + elif "serievo" in url: calidad_mps = "series-vo/" - if "serie-vo" in url: + elif "serie-vo" in url: calidad_mps = "series-vo/" + else: + calidad_mps = "series/" - real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) - real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) + if "no_image" in thumb: + real_title_mps = title + else: + real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) + real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) - if "/0_" not in thumb: + if "/0_" not in thumb and not "no_image" in thumb: serieid = scrapertools.find_single_match(thumb, r'.*?\/\w\/(?P\d+).*?.*') if len(serieid) > 5: serieid = "" @@ -507,6 +512,11 @@ def episodios(item): "[\[]\s*(?P.*?)?\s*[\]]<\/span>" if "Especial" in info: # Capitulos Especiales pattern = ".*?[^>]+>.*?Temporada.*?\[.*?(?P\d+).*?\].*?Capitulo.*?\[\s*(?P\d+).*?\]?(?:.*?(?P\d+)?)<.+?]+>(?P.*?)?<\/span>\s*Calidad\s*]+>[\[]\s*(?P.*?)?\s*[\]]<\/span>" + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioNEW: " + pattern) + logger.debug(info) + info = '>%sTemporada %s Capitulo 0 - Español Castellano Calidad [%s]' % (item.contentTitle, season, item.infoLabels['quality']) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] @@ -540,11 +550,11 @@ def episodios(item): "(?P\d{2}))?.*?\].*?(?:\[(?P.*?)\])?" elif scrapertools.find_single_match(info, 'Cap.\d{2,3}'): pattern = ".*?Temp.*?\s(?P.*?)\s.*?Cap.(?P\d).*?(?P\d{2})(?:_(?P\d+)(?P\d{2}))?.*?\s(?P.*)?" - else: - logger.debug("patron episodio: " + pattern) + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioOLD: " + pattern) logger.debug(info) - continue - + info = '%s [%s][Cap.%s00][Español]' % (item.contentTitle, item.infoLabels['quality'], season) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] diff --git a/plugin.video.alfa/channels/torrentrapid.py b/plugin.video.alfa/channels/torrentrapid.py index 85caf927..17273437 100644 --- a/plugin.video.alfa/channels/torrentrapid.py +++ b/plugin.video.alfa/channels/torrentrapid.py @@ -133,7 +133,8 @@ def listado(item): for scrapedurl, scrapedtitle, scrapedthumbnail, title_alt, calidad in matches: url = scrapedurl - title = scrapedtitle + title = scrapedtitle.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") + title_alt = title_alt.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") thumbnail = scrapedthumbnail action = "findvideos" extra = "" @@ -209,10 +210,11 @@ def listado_busqueda(item): for url, thumb, title in matches: real_title = scrapertools.find_single_match(title, r'(.*?)Temporada.*?<\/strong>') #series - if real_title == "": + if not real_title: real_title = scrapertools.find_single_match(title, r'(.*?)\[.*?]') #movies real_title = scrapertools.remove_htmltags(real_title).decode('iso-8859-1').encode('utf-8') real_title = scrapertools.htmlclean(real_title) + real_title = real_title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") calidad = scrapertools.find_single_match(title, r'.*?\s*Calidad.*?]+>[\[]\s*(?P.*?)\s*[\]]<\/span>') #series if calidad == "": calidad = scrapertools.find_single_match(title, r'..*?(\[.*?.*\])') #movies @@ -220,9 +222,8 @@ def listado_busqueda(item): # fix encoding for title title = scrapertools.htmlclean(title) - title = title.replace("�", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng") title = re.sub(r'(Calidad.*?\])', '', title) - + title = title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") if real_title == "": real_title = title if calidad == "": @@ -236,18 +237,22 @@ def listado_busqueda(item): # Codigo para rescatar lo que se puede en pelisy.series.com de Series para la Videoteca. la URL apunta al capítulo y no a la Serie. Nombre de Serie frecuentemente en blanco. Se obtiene de Thumb, así como el id de la serie if ("/serie" in url or "-serie" in url) and "pelisyseries.com" in host: - calidad_mps = "series/" if "seriehd" in url: calidad_mps = "series-hd/" - if "serievo" in url: + elif "serievo" in url: calidad_mps = "series-vo/" - if "serie-vo" in url: + elif "serie-vo" in url: calidad_mps = "series-vo/" + else: + calidad_mps = "series/" - real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) - real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) + if "no_image" in thumb: + real_title_mps = title + else: + real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) + real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) - if "/0_" not in thumb: + if "/0_" not in thumb and not "no_image" in thumb: serieid = scrapertools.find_single_match(thumb, r'.*?\/\w\/(?P\d+).*?.*') if len(serieid) > 5: serieid = "" @@ -507,6 +512,11 @@ def episodios(item): "[\[]\s*(?P.*?)?\s*[\]]<\/span>" if "Especial" in info: # Capitulos Especiales pattern = ".*?[^>]+>.*?Temporada.*?\[.*?(?P\d+).*?\].*?Capitulo.*?\[\s*(?P\d+).*?\]?(?:.*?(?P\d+)?)<.+?]+>(?P.*?)?<\/span>\s*Calidad\s*]+>[\[]\s*(?P.*?)?\s*[\]]<\/span>" + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioNEW: " + pattern) + logger.debug(info) + info = '>%sTemporada %s Capitulo 0 - Español Castellano Calidad [%s]' % (item.contentTitle, season, item.infoLabels['quality']) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] @@ -540,11 +550,11 @@ def episodios(item): "(?P\d{2}))?.*?\].*?(?:\[(?P.*?)\])?" elif scrapertools.find_single_match(info, 'Cap.\d{2,3}'): pattern = ".*?Temp.*?\s(?P.*?)\s.*?Cap.(?P\d).*?(?P\d{2})(?:_(?P\d+)(?P\d{2}))?.*?\s(?P.*)?" - else: - logger.debug("patron episodio: " + pattern) + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioOLD: " + pattern) logger.debug(info) - continue - + info = '%s [%s][Cap.%s00][Español]' % (item.contentTitle, item.infoLabels['quality'], season) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] diff --git a/plugin.video.alfa/channels/tumejortorrent.py b/plugin.video.alfa/channels/tumejortorrent.py index 3ea77b12..10cf34e5 100644 --- a/plugin.video.alfa/channels/tumejortorrent.py +++ b/plugin.video.alfa/channels/tumejortorrent.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- import re @@ -133,7 +133,8 @@ def listado(item): for scrapedurl, scrapedtitle, scrapedthumbnail, title_alt, calidad in matches: url = scrapedurl - title = scrapedtitle + title = scrapedtitle.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") + title_alt = title_alt.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") thumbnail = scrapedthumbnail action = "findvideos" extra = "" @@ -209,10 +210,11 @@ def listado_busqueda(item): for url, thumb, title in matches: real_title = scrapertools.find_single_match(title, r'(.*?)Temporada.*?<\/strong>') #series - if real_title == "": + if not real_title: real_title = scrapertools.find_single_match(title, r'(.*?)\[.*?]') #movies real_title = scrapertools.remove_htmltags(real_title).decode('iso-8859-1').encode('utf-8') real_title = scrapertools.htmlclean(real_title) + real_title = real_title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") calidad = scrapertools.find_single_match(title, r'.*?\s*Calidad.*?]+>[\[]\s*(?P.*?)\s*[\]]<\/span>') #series if calidad == "": calidad = scrapertools.find_single_match(title, r'..*?(\[.*?.*\])') #movies @@ -220,9 +222,8 @@ def listado_busqueda(item): # fix encoding for title title = scrapertools.htmlclean(title) - title = title.replace("�", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng") title = re.sub(r'(Calidad.*?\])', '', title) - + title = title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") if real_title == "": real_title = title if calidad == "": @@ -236,18 +237,22 @@ def listado_busqueda(item): # Codigo para rescatar lo que se puede en pelisy.series.com de Series para la Videoteca. la URL apunta al capítulo y no a la Serie. Nombre de Serie frecuentemente en blanco. Se obtiene de Thumb, así como el id de la serie if ("/serie" in url or "-serie" in url) and "pelisyseries.com" in host: - calidad_mps = "series/" if "seriehd" in url: calidad_mps = "series-hd/" - if "serievo" in url: + elif "serievo" in url: calidad_mps = "series-vo/" - if "serie-vo" in url: + elif "serie-vo" in url: calidad_mps = "series-vo/" + else: + calidad_mps = "series/" - real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) - real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) + if "no_image" in thumb: + real_title_mps = title + else: + real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) + real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) - if "/0_" not in thumb: + if "/0_" not in thumb and not "no_image" in thumb: serieid = scrapertools.find_single_match(thumb, r'.*?\/\w\/(?P\d+).*?.*') if len(serieid) > 5: serieid = "" @@ -507,6 +512,11 @@ def episodios(item): "[\[]\s*(?P.*?)?\s*[\]]<\/span>" if "Especial" in info: # Capitulos Especiales pattern = ".*?[^>]+>.*?Temporada.*?\[.*?(?P\d+).*?\].*?Capitulo.*?\[\s*(?P\d+).*?\]?(?:.*?(?P\d+)?)<.+?]+>(?P.*?)?<\/span>\s*Calidad\s*]+>[\[]\s*(?P.*?)?\s*[\]]<\/span>" + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioNEW: " + pattern) + logger.debug(info) + info = '>%sTemporada %s Capitulo 0 - Español Castellano Calidad [%s]' % (item.contentTitle, season, item.infoLabels['quality']) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] @@ -540,11 +550,11 @@ def episodios(item): "(?P\d{2}))?.*?\].*?(?:\[(?P.*?)\])?" elif scrapertools.find_single_match(info, 'Cap.\d{2,3}'): pattern = ".*?Temp.*?\s(?P.*?)\s.*?Cap.(?P\d).*?(?P\d{2})(?:_(?P\d+)(?P\d{2}))?.*?\s(?P.*)?" - else: - logger.debug("patron episodio: " + pattern) + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioOLD: " + pattern) logger.debug(info) - continue - + info = '%s [%s][Cap.%s00][Español]' % (item.contentTitle, item.infoLabels['quality'], season) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] diff --git a/plugin.video.alfa/channels/tvsinpagar.py b/plugin.video.alfa/channels/tvsinpagar.py index 56898ea1..ab352ac1 100644 --- a/plugin.video.alfa/channels/tvsinpagar.py +++ b/plugin.video.alfa/channels/tvsinpagar.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# -*- coding: utf-8 -*- import re @@ -133,7 +133,8 @@ def listado(item): for scrapedurl, scrapedtitle, scrapedthumbnail, title_alt, calidad in matches: url = scrapedurl - title = scrapedtitle + title = scrapedtitle.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") + title_alt = title_alt.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "") thumbnail = scrapedthumbnail action = "findvideos" extra = "" @@ -209,10 +210,11 @@ def listado_busqueda(item): for url, thumb, title in matches: real_title = scrapertools.find_single_match(title, r'(.*?)Temporada.*?<\/strong>') #series - if real_title == "": + if not real_title: real_title = scrapertools.find_single_match(title, r'(.*?)\[.*?]') #movies real_title = scrapertools.remove_htmltags(real_title).decode('iso-8859-1').encode('utf-8') real_title = scrapertools.htmlclean(real_title) + real_title = real_title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") calidad = scrapertools.find_single_match(title, r'.*?\s*Calidad.*?]+>[\[]\s*(?P.*?)\s*[\]]<\/span>') #series if calidad == "": calidad = scrapertools.find_single_match(title, r'..*?(\[.*?.*\])') #movies @@ -220,9 +222,8 @@ def listado_busqueda(item): # fix encoding for title title = scrapertools.htmlclean(title) - title = title.replace("�", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng") title = re.sub(r'(Calidad.*?\])', '', title) - + title = title.replace("�", "ñ").replace("ñ", "ñ").replace("Temp", " Temp").replace("Esp", " Esp").replace("Ing", " Ing").replace("Eng", " Eng").replace("Calidad", "").replace("de la Serie", "") if real_title == "": real_title = title if calidad == "": @@ -236,18 +237,22 @@ def listado_busqueda(item): # Codigo para rescatar lo que se puede en pelisy.series.com de Series para la Videoteca. la URL apunta al capítulo y no a la Serie. Nombre de Serie frecuentemente en blanco. Se obtiene de Thumb, así como el id de la serie if ("/serie" in url or "-serie" in url) and "pelisyseries.com" in host: - calidad_mps = "series/" if "seriehd" in url: calidad_mps = "series-hd/" - if "serievo" in url: + elif "serievo" in url: calidad_mps = "series-vo/" - if "serie-vo" in url: + elif "serie-vo" in url: calidad_mps = "series-vo/" + else: + calidad_mps = "series/" - real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) - real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) + if "no_image" in thumb: + real_title_mps = title + else: + real_title_mps = re.sub(r'.*?\/\d+_', '', thumb) + real_title_mps = re.sub(r'\.\w+.*?', '', real_title_mps) - if "/0_" not in thumb: + if "/0_" not in thumb and not "no_image" in thumb: serieid = scrapertools.find_single_match(thumb, r'.*?\/\w\/(?P\d+).*?.*') if len(serieid) > 5: serieid = "" @@ -507,6 +512,11 @@ def episodios(item): "[\[]\s*(?P.*?)?\s*[\]]<\/span>" if "Especial" in info: # Capitulos Especiales pattern = ".*?[^>]+>.*?Temporada.*?\[.*?(?P\d+).*?\].*?Capitulo.*?\[\s*(?P\d+).*?\]?(?:.*?(?P\d+)?)<.+?]+>(?P.*?)?<\/span>\s*Calidad\s*]+>[\[]\s*(?P.*?)?\s*[\]]<\/span>" + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioNEW: " + pattern) + logger.debug(info) + info = '>%sTemporada %s Capitulo 0 - Español Castellano Calidad [%s]' % (item.contentTitle, season, item.infoLabels['quality']) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] @@ -540,11 +550,11 @@ def episodios(item): "(?P\d{2}))?.*?\].*?(?:\[(?P.*?)\])?" elif scrapertools.find_single_match(info, 'Cap.\d{2,3}'): pattern = ".*?Temp.*?\s(?P.*?)\s.*?Cap.(?P\d).*?(?P\d{2})(?:_(?P\d+)(?P\d{2}))?.*?\s(?P.*)?" - else: - logger.debug("patron episodio: " + pattern) + + if not scrapertools.find_single_match(info, pattern): #en caso de error de formato, creo uno básico + logger.debug("patron episodioOLD: " + pattern) logger.debug(info) - continue - + info = '%s [%s][Cap.%s00][Español]' % (item.contentTitle, item.infoLabels['quality'], season) r = re.compile(pattern) match = [m.groupdict() for m in r.finditer(info)][0] diff --git a/plugin.video.alfa/resources/media/channels/banner/tumejortorrent.png b/plugin.video.alfa/resources/media/channels/banner/tumejortorrent.png new file mode 100644 index 00000000..1910766d Binary files /dev/null and b/plugin.video.alfa/resources/media/channels/banner/tumejortorrent.png differ diff --git a/plugin.video.alfa/resources/media/channels/banner/tvsinpagar.png b/plugin.video.alfa/resources/media/channels/banner/tvsinpagar.png new file mode 100644 index 00000000..ea43d487 Binary files /dev/null and b/plugin.video.alfa/resources/media/channels/banner/tvsinpagar.png differ diff --git a/plugin.video.alfa/resources/media/channels/thumb/tumejortorrent.png b/plugin.video.alfa/resources/media/channels/thumb/tumejortorrent.png new file mode 100644 index 00000000..2e86f13e Binary files /dev/null and b/plugin.video.alfa/resources/media/channels/thumb/tumejortorrent.png differ diff --git a/plugin.video.alfa/resources/media/channels/thumb/tvsinpagar.png b/plugin.video.alfa/resources/media/channels/thumb/tvsinpagar.png new file mode 100644 index 00000000..103e4d8b Binary files /dev/null and b/plugin.video.alfa/resources/media/channels/thumb/tvsinpagar.png differ