From dd02fb4030a2ad96c2c7c1524a9af7c5846bc0cd Mon Sep 17 00:00:00 2001 From: Kingbox <37674310+lopezvg@users.noreply.github.com> Date: Wed, 27 Feb 2019 10:01:48 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Mastorrent:=20Borrado=20por=20falta=20de=20?= =?UTF-8?q?actualizaci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.video.alfa/channels/mastorrents.json | 33 -- plugin.video.alfa/channels/mastorrents.py | 323 -------------------- 2 files changed, 356 deletions(-) delete mode 100644 plugin.video.alfa/channels/mastorrents.json delete mode 100644 plugin.video.alfa/channels/mastorrents.py diff --git a/plugin.video.alfa/channels/mastorrents.json b/plugin.video.alfa/channels/mastorrents.json deleted file mode 100644 index 6ebae2fc..00000000 --- a/plugin.video.alfa/channels/mastorrents.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "id": "mastorrents", - "name": "MasTorrents", - "active": true, - "adult": false, - "language": ["cast","lat"], - "thumbnail": "https://s33.postimg.cc/3y8720l9b/mastorrents.png", - "banner": "", - "version": 1, - "categories": [ - "movie", - "tvshow", - "torrent" - ], - "settings": [ - { - "id": "include_in_newest_peliculas", - "type": "bool", - "label": "Incluir en Novedades - Peliculas", - "default": true, - "enabled": true, - "visible": true - }, - { - "id": "include_in_newest_torrent", - "type": "bool", - "label": "Incluir en Novedades - Torrent", - "default": true, - "enabled": true, - "visible": true - } - ] -} \ No newline at end of file diff --git a/plugin.video.alfa/channels/mastorrents.py b/plugin.video.alfa/channels/mastorrents.py deleted file mode 100644 index df53aece..00000000 --- a/plugin.video.alfa/channels/mastorrents.py +++ /dev/null @@ -1,323 +0,0 @@ -# -*- coding: utf-8 -*- -# -*- Channel MasTorrents -*- -# -*- Created for Alfa-addon -*- -# -*- By the Alfa Develop Group -*- - -import re -from channelselector import get_thumb -from platformcode import logger -from platformcode import config -from core import scrapertools -from core.item import Item -from core import servertools -from core import httptools -from core import tmdb - -host = 'http://www.mastorrents.com/' - -def mainlist(item): - logger.info() - - itemlist = [] - - itemlist.append(item.clone(title="Peliculas", - action="movie_list", - thumbnail=get_thumb("channels_movie.png") - )) - - itemlist.append(item.clone(title="Series", - action="series_list", - thumbnail=get_thumb("channels_tvshow.png") - )) - return itemlist - - -def movie_list(item): - logger.info() - - itemlist = [] - - itemlist.append(item.clone(title="Todas", - action="lista", - url=host+'peliculas', - extra='movie', - thumbnail=get_thumb('all', auto=True) - )) - - itemlist.append(item.clone(title="Generos", - action="genres", - url=host, - extra='movie', - thumbnail=get_thumb('genres', auto=True) - )) - - itemlist.append(item.clone(title="Buscar", - action="search", - url=host + '?pTit=', thumbnail=get_thumb('search', auto=True), - extra='movie' - )) - return itemlist - - -def series_list(item): - logger.info() - - itemlist = [] - - itemlist.append(item.clone(title="Todas", - action="lista", - url=host + 'series', - extra='serie', - thumbnail=get_thumb('all', auto=True) - )) - - itemlist.append(item.clone(title="Generos", - action="genres", - url=host + 'series/', - extra='serie', - thumbnail=get_thumb('genres', auto=True) - )) - - itemlist.append(item.clone(title="Buscar", - action="search", - url=host + 'series/?pTit=', - extra='serie', - thumbnail=get_thumb('search', auto=True) - )) - return itemlist - - -def get_source(url): - logger.info() - data = httptools.downloadpage(url).data - data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) - return data - -def lista (item): - logger.info () - itemlist = [] - infoLabels = dict() - data = get_source(item.url) - patron = "
.*?
') - import inspect - if next_page !='': - itemlist.append(item.clone(action = "lista", - title = 'Siguiente >>>', - url = next_page - )) - return itemlist - - -def genres(item): - logger.info() - - itemlist = [] - - data = get_source(item.url) - data = scrapertools.find_single_match(data,'Géneros(.+)
') - - patron = '' - - matches = re.compile(patron,re.DOTALL).findall(data) - - for value, title in matches: - url = item.url + value - title = title.decode('latin1').encode('utf8') - itemlist.append(Item(channel=item.channel, title=title, url=url, action='lista')) - return itemlist - -def search(item, texto): - logger.info() - texto = texto.replace(" ", "+") - item.url = item.url + texto - - if texto != '': - return lista(item) - else: - return [] - - -def seasons(item): - logger.info() - itemlist=[] - infoLabels = item.infoLabels - data=get_source(item.url) - patron ='href=javascript:showSeasson\(.*?\); id=.*?>Temporada (.*?)<\/a>' - matches = re.compile(patron, re.DOTALL).findall(data) - - for season in matches: - title='Temporada %s' % season - infoLabels['season'] = season - itemlist.append(Item(channel=item.channel, - title= title, - url=item.url, - action='episodesxseasons', - contentSeasonNumber=season, - contentSerieName=item.contentSerieName, - infoLabels=infoLabels - )) - tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) - itemlist = itemlist[::-1] - if config.get_videolibrary_support() and len(itemlist) > 0: - itemlist.append( - Item(channel=item.channel, title='[COLOR yellow]Añadir esta serie a la videoteca[/COLOR]', url=item.url, - action="add_serie_to_library", extra="all_episodes", contentSerieName=item.contentSerieName)) - - return itemlist - -def all_episodes(item): - logger.info() - itemlist = [] - templist = seasons(item) - for tempitem in templist: - itemlist += episodesxseasons(tempitem) - - return itemlist - -def episodesxseasons(item): - logger.info() - - itemlist=[] - - data=get_source(item.url) - patron = "
%sx(.\d+)<\/div>.*?" % item.contentSeasonNumber - patron += "image:url\('(.*?)'.*?href.*?>(%s)<" % item.contentSerieName - matches = re.compile(patron, re.DOTALL).findall(data) - infoLabels=item.infoLabels - for episode, scrapedurl, scrapedthumbnail, scrapedtitle in matches: - contentEpisodeNumber=episode - season = item.contentSeasonNumber - url=scrapedurl - thumbnail=scrapedthumbnail - infoLabels['episode']=episode - title = '%sx%s - %s' % (season, episode, item.contentSerieName) - itemlist.append(Item(channel=item.channel, - action='findvideos', - title=title, - url=url, - thumbnail=thumbnail, - contentSerieName=item.contentSerieName, - contentEpisodeNumber=contentEpisodeNumber, - infoLabels=infoLabels - )) - tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) - - return itemlist[::-1] - - -def findvideos(item): - logger.info() - itemlist=[] - data = get_source(item.url) - patron = "showDownload\(([^\)]+)\);.*?alt=.*?torrent (.*?) " - matches = re.compile(patron, re.DOTALL).findall(data) - - for extra_info, quality in matches: - extra_info= extra_info.replace(",'",'|') - extra_info= extra_info.split('|') - title = '%s [%s]' % ('Torrent', quality.strip()) - if item.extra == 'movie': - url = extra_info[2].strip("'") - else: - url = extra_info[3].strip("'") - server = 'torrent' - - if not '.torrent' in url: - if 'tvsinpagar' in url: - url = url.replace('http://','http://www.') - try: - from_web = httptools.downloadpage(url, follow_redirects=False) - url = from_web.headers['location'] - except: - pass - - if '.torrent' in url: - itemlist.append(Item(channel=item.channel, - title=title, - contentTitle= item.title, - url=url, - action='play', - quality=quality, - server=server, - thumbnail = item.infoLabels['thumbnail'], - infoLabels=item.infoLabels - )) - - if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': - itemlist.append(Item(channel=item.channel, - title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', - url=item.url, - action="add_pelicula_to_library", - extra="findvideos", - contentTitle=item.contentTitle - )) - - return itemlist - - -def newest(category): - logger.info() - item = Item() - try: - if category in ['peliculas', 'torrent']: - item.url = host + 'estrenos-de-cine' - item.extra='movie' - itemlist = lista(item) - if itemlist[-1].title == 'Siguiente >>>': - itemlist.pop() - if category == 'torrent': - - item.url = host+'series' - item.extra = 'serie' - itemlist.extend(lista(item)) - - if itemlist[-1].title == 'Siguiente >>>': - itemlist.pop() - except: - import sys - for line in sys.exc_info(): - logger.error("%s" % line) - return [] - - return itemlist From 238e77a40119fb37c603090c1d51425f575f9fda Mon Sep 17 00:00:00 2001 From: Kingbox <37674310+lopezvg@users.noreply.github.com> Date: Wed, 27 Feb 2019 10:04:56 +0100 Subject: [PATCH 2/2] Mejoras de compatibilidad con Python 2.6 --- plugin.video.alfa/channels/pelismagnet.py | 2 +- plugin.video.alfa/channels/rarbg.py | 6 +++--- plugin.video.alfa/channels/subtorrents.py | 2 +- plugin.video.alfa/channels/todopeliculas.py | 2 +- plugin.video.alfa/channels/zonatorrent.py | 4 ++-- plugin.video.alfa/lib/generictools.py | 15 ++++++++++----- 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/plugin.video.alfa/channels/pelismagnet.py b/plugin.video.alfa/channels/pelismagnet.py index 414e772a..70bec39e 100644 --- a/plugin.video.alfa/channels/pelismagnet.py +++ b/plugin.video.alfa/channels/pelismagnet.py @@ -348,7 +348,7 @@ def listado(item): title = re.sub(r'- $', '', title) #Limpiamos el título de la basura innecesaria - title = re.sub(r'TV|Online|Spanish|Torrent|en Espa\xc3\xb1ol|Español|Latino|Subtitulado|Blurayrip|Bluray rip|\[.*?\]|R2 Pal|\xe3\x80\x90 Descargar Torrent \xe3\x80\x91|Completa|Temporada|Descargar|Torren', '', title, flags=re.IGNORECASE) + title = re.sub(r'(?i)TV|Online|Spanish|Torrent|en Espa\xc3\xb1ol|Español|Latino|Subtitulado|Blurayrip|Bluray rip|\[.*?\]|R2 Pal|\xe3\x80\x90 Descargar Torrent \xe3\x80\x91|Completa|Temporada|Descargar|Torren', '', title) #Terminamos de limpiar el título title = re.sub(r'\??\s?\d*?\&.*', '', title) diff --git a/plugin.video.alfa/channels/rarbg.py b/plugin.video.alfa/channels/rarbg.py index 9c885e61..374b36b5 100644 --- a/plugin.video.alfa/channels/rarbg.py +++ b/plugin.video.alfa/channels/rarbg.py @@ -336,8 +336,8 @@ def listado(item): item_local.season_colapse = True #Muestra las series agrupadas por temporadas #Limpiamos el título de la basura innecesaria - title = re.sub(r'TV|Online', '', title, flags=re.IGNORECASE).strip() - item_local.quality = re.sub(r'proper|unrated|directors|cut|german|repack|internal|real|korean|extended|masted|docu|oar|super|duper|amzn|uncensored|hulu', '', item_local.quality, flags=re.IGNORECASE).strip() + title = re.sub(r'(?i)TV|Online', '', title).strip() + item_local.quality = re.sub(r'(?i)proper|unrated|directors|cut|german|repack|internal|real|korean|extended|masted|docu|oar|super|duper|amzn|uncensored|hulu', '', item_local.quality).strip() #Analizamos el año. Si no está claro ponemos '-' try: @@ -472,7 +472,7 @@ def findvideos(item): item_local.quality = '' title = title.replace('.', ' ') item_local.quality = item_local.quality.replace('.', ' ') - item_local.quality = re.sub(r'proper|unrated|directors|cut|german|repack|internal|real|korean|extended|masted|docu|oar|super|duper|amzn|uncensored|hulu', '', item_local.quality, flags=re.IGNORECASE).strip() + item_local.quality = re.sub(r'(?i)proper|unrated|directors|cut|german|repack|internal|real|korean|extended|masted|docu|oar|super|duper|amzn|uncensored|hulu', '', item_local.quality).strip() #Buscamos si ya tiene tamaño, si no, los buscamos en el archivo .torrent size = scrapedsize diff --git a/plugin.video.alfa/channels/subtorrents.py b/plugin.video.alfa/channels/subtorrents.py index 9fa441c7..2f1e4950 100644 --- a/plugin.video.alfa/channels/subtorrents.py +++ b/plugin.video.alfa/channels/subtorrents.py @@ -294,7 +294,7 @@ def listado(item): title = re.sub(r'\d+[M|m|G|g][B|b]', '', title) #Limpiamos el título de la basura innecesaria - title = re.sub(r'TV|Online|Spanish|Torrent|en Espa\xc3\xb1ol|Español|Latino|Subtitulado|Blurayrip|Bluray rip|\[.*?\]|R2 Pal|\xe3\x80\x90 Descargar Torrent \xe3\x80\x91|Completa|Temporada|Descargar|Torren|\(iso\)|\(dvd.*?\)|(?:\d+\s*)?\d{3,4}p.*?$|extended|(?:\d+\s*)?bdrip.*?$|\(.*?\).*?$|iso$|unrated|\[.*?$|\d{4}$', '', title, flags=re.IGNORECASE) + title = re.sub(r'(?i)TV|Online|Spanish|Torrent|en Espa\xc3\xb1ol|Español|Latino|Subtitulado|Blurayrip|Bluray rip|\[.*?\]|R2 Pal|\xe3\x80\x90 Descargar Torrent \xe3\x80\x91|Completa|Temporada|Descargar|Torren|\(iso\)|\(dvd.*?\)|(?:\d+\s*)?\d{3,4}p.*?$|extended|(?:\d+\s*)?bdrip.*?$|\(.*?\).*?$|iso$|unrated|\[.*?$|\d{4}$', '', title) #Obtenemos temporada y episodio si se trata de Episodios if item_local.contentType == "episode": diff --git a/plugin.video.alfa/channels/todopeliculas.py b/plugin.video.alfa/channels/todopeliculas.py index 62430251..f07280f7 100644 --- a/plugin.video.alfa/channels/todopeliculas.py +++ b/plugin.video.alfa/channels/todopeliculas.py @@ -274,7 +274,7 @@ def listado(item): #Limpiamos el título de la basura innecesaria title = re.sub(r'- $', '', title) - title = re.sub(r'TV|Online|Spanish|Torrent|en Espa\xc3\xb1ol|Español|Latino|Subtitulado|Blurayrip|Bluray rip|\[.*?\]|R2 Pal|\xe3\x80\x90 Descargar Torrent \xe3\x80\x91|Completa|Temporada|Descargar|Torren', '', title, flags=re.IGNORECASE) + title = re.sub(r'(?i)TV|Online|Spanish|Torrent|en Espa\xc3\xb1ol|Español|Latino|Subtitulado|Blurayrip|Bluray rip|\[.*?\]|R2 Pal|\xe3\x80\x90 Descargar Torrent \xe3\x80\x91|Completa|Temporada|Descargar|Torren', '', title) #Terminamos de limpiar el título title = re.sub(r'\??\s?\d*?\&.*', '', title) diff --git a/plugin.video.alfa/channels/zonatorrent.py b/plugin.video.alfa/channels/zonatorrent.py index 3f08b208..f73bd7e1 100644 --- a/plugin.video.alfa/channels/zonatorrent.py +++ b/plugin.video.alfa/channels/zonatorrent.py @@ -353,7 +353,7 @@ def listado(item): item_local.quality += " 3D" else: item_local.quality = "3D" - title = re.sub('3D', '', title, flags=re.IGNORECASE) + title = re.sub('(?i)3D', '', title) title = title.replace('[]', '') if item_local.quality: item_local.quality += ' %s' % scrapertools.find_single_match(title, '\[(.*?)\]') @@ -418,7 +418,7 @@ def listado(item): title = re.sub(r'- $', '', title) #Limpiamos el título de la basura innecesaria - title = re.sub(r'TV|Online|Spanish|Torrent|en Espa\xc3\xb1ol|Español|Latino|Subtitulado|Blurayrip|Bluray rip|\[.*?\]|R2 Pal|\xe3\x80\x90 Descargar Torrent \xe3\x80\x91|Completa|Temporada|Descargar|Torren', '', title, flags=re.IGNORECASE) + title = re.sub(r'(?i)TV|Online|Spanish|Torrent|en Espa\xc3\xb1ol|Español|Latino|Subtitulado|Blurayrip|Bluray rip|\[.*?\]|R2 Pal|\xe3\x80\x90 Descargar Torrent \xe3\x80\x91|Completa|Temporada|Descargar|Torren', '', title) title = title.replace("Dual", "").replace("dual", "").replace("Subtitulada", "").replace("subtitulada", "").replace("Subt", "").replace("subt", "").replace("(Proper)", "").replace("(proper)", "").replace("Proper", "").replace("proper", "").replace("#", "").replace("(Latino)", "").replace("Latino", "").replace("LATINO", "").replace("Spanish", "").replace("Trailer", "").replace("Audio", "") title = title.replace("HDTV-Screener", "").replace("DVDSCR", "").replace("TS ALTA", "").replace("- HDRip", "").replace("(HDRip)", "").replace("- Hdrip", "").replace("(microHD)", "").replace("(DVDRip)", "").replace("HDRip", "").replace("(BR-LINE)", "").replace("(HDTS-SCREENER)", "").replace("(BDRip)", "").replace("(BR-Screener)", "").replace("(DVDScreener)", "").replace("TS-Screener", "").replace(" TS", "").replace(" Ts", "").replace(" 480p", "").replace(" 480P", "").replace(" 720p", "").replace(" 720P", "").replace(" 1080p", "").replace(" 1080P", "").replace("DVDRip", "").replace(" Dvd", "").replace(" DVD", "").replace(" V.O", "").replace(" Unrated", "").replace(" UNRATED", "").replace(" unrated", "").replace("screener", "").replace("TS-SCREENER", "").replace("TSScreener", "").replace("HQ", "").replace("AC3 5.1", "").replace("Telesync", "").replace("Line Dubbed", "").replace("line Dubbed", "").replace("LineDuB", "").replace("Line", "").replace("XviD", "").replace("xvid", "").replace("XVID", "").replace("Mic Dubbed", "").replace("HD", "").replace("V2", "").replace("CAM", "").replace("VHS.SCR", "").replace("Dvd5", "").replace("DVD5", "").replace("Iso", "").replace("ISO", "").replace("Reparado", "").replace("reparado", "").replace("DVD9", "").replace("Dvd9", "") diff --git a/plugin.video.alfa/lib/generictools.py b/plugin.video.alfa/lib/generictools.py index 2c07d74c..bd2284fb 100644 --- a/plugin.video.alfa/lib/generictools.py +++ b/plugin.video.alfa/lib/generictools.py @@ -280,7 +280,9 @@ def post_tmdb_listado(item, itemlist): item.category_new = '' for item_local in itemlist: #Recorremos el Itemlist generado por el canal - title = re.sub(r'online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title, flags=re.IGNORECASE).strip() + item_local.title = re.sub(r'(?i)online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title).strip() + #item_local.title = re.sub(r'online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title, flags=re.IGNORECASE).strip() + title = item_local.title #logger.debug(item_local) item_local.last_page = 0 @@ -375,11 +377,13 @@ def post_tmdb_listado(item, itemlist): item_local.contentSerieName = item_local.from_title if item_local.contentType == 'season': item_local.title = item_local.from_title - title = re.sub(r'online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title, flags=re.IGNORECASE).strip() + item_local.title = re.sub(r'(?i)online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title).strip() + title = item_local.title #Limpiamos calidad de títulos originales que se hayan podido colar if item_local.infoLabels['originaltitle'].lower() in item_local.quality.lower(): - item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality, flags=re.IGNORECASE) + item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality) + #item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality, flags=re.IGNORECASE) # Preparamos el título para series, con los núm. de temporadas, si las hay if item_local.contentType in ['season', 'tvshow', 'episode']: @@ -775,7 +779,7 @@ def post_tmdb_episodios(item, itemlist): del item_local.totalItems item_local.unify = 'xyz' del item_local.unify - item_local.title = re.sub(r'online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title, flags=re.IGNORECASE).strip() + item_local.title = re.sub(r'(?i)online|descarga|downloads|trailer|videoteca|gb|autoplay', '', item_local.title).strip() #logger.debug(item_local) @@ -851,7 +855,8 @@ def post_tmdb_episodios(item, itemlist): #Limpiamos calidad de títulos originales que se hayan podido colar if item_local.infoLabels['originaltitle'].lower() in item_local.quality.lower(): - item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality, flags=re.IGNORECASE) + item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality) + #item_local.quality = re.sub(item_local.infoLabels['originaltitle'], '', item_local.quality, flags=re.IGNORECASE) #Si no está el título del episodio, pero sí está en "title", lo rescatamos if not item_local.infoLabels['episodio_titulo'] and item_local.infoLabels['title'].lower() != item_local.infoLabels['tvshowtitle'].lower():