diff --git a/plugin.video.alfa/channels/bajui.json b/plugin.video.alfa/channels/bajui.json deleted file mode 100644 index 98d9be1f..00000000 --- a/plugin.video.alfa/channels/bajui.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "id": "bajui", - "name": "Bajui", - "active": false, - "adult": false, - "language": ["cast"], - "thumbnail": "bajui.png", - "banner": "bajui.png", - "fanart": "bajui.png", - "categories": [ - "movie", - "tvshow", - "documentary", - "vos" - ], - "settings": [ - { - "id": "include_in_global_search", - "type": "bool", - "label": "Incluir en busqueda global", - "default": false, - "enabled": true, - "visible": true - } - ] -} diff --git a/plugin.video.alfa/channels/bajui.py b/plugin.video.alfa/channels/bajui.py deleted file mode 100644 index fde86422..00000000 --- a/plugin.video.alfa/channels/bajui.py +++ /dev/null @@ -1,247 +0,0 @@ -# -*- coding: utf-8 -*- - -import re -import urlparse - -from core import httptools -from core import scrapertools -from core import servertools -from core.item import Item -from platformcode import logger -from channelselector import get_thumb - - -def mainlist(item): - logger.info() - itemlist = [] - itemlist.append(Item(channel=item.channel, title="Películas", action="menupeliculas", - url="http://www.bajui.org/descargas/categoria/2/peliculas", - fanart=item.fanart, thumbnail=get_thumb('movies', auto=True))) - itemlist.append(Item(channel=item.channel, title="Series", action="menuseries", - fanart=item.fanart, thumbnail=get_thumb('tvshows', auto=True))) - itemlist.append(Item(channel=item.channel, title="Documentales", action="menudocumentales", - fanart=item.fanart, thumbnail=get_thumb('documentaries', auto=True))) - itemlist.append(Item(channel=item.channel, title="Buscar", action="search", - fanart=item.fanart, thumbnail=get_thumb('search', auto=True))) - return itemlist - - -def menupeliculas(item): - logger.info() - itemlist = [] - itemlist.append(Item(channel=item.channel, title="Películas - Novedades", action="peliculas", url=item.url, - fanart=item.fanart, viewmode="movie_with_plot")) - itemlist.append( - Item(channel=item.channel, title="Películas - A-Z", action="peliculas", url=item.url + "/orden:nombre", - fanart=item.fanart, viewmode="movie_with_plot")) - - data = httptools.downloadpage(item.url).data - data = scrapertools.get_match(data, '
') - patron = '([^<]+)' - matches = re.compile(patron, re.DOTALL).findall(data) - for url, title in matches: - scrapedurl = urlparse.urljoin(item.url, url) - itemlist.append(Item(channel=item.channel, title="Películas en " + title, action="peliculas", url=scrapedurl, - fanart=item.fanart, viewmode="movie_with_plot")) - - itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url="", fanart=item.fanart)) - return itemlist - - -def menuseries(item): - logger.info() - itemlist = [] - itemlist.append(Item(channel=item.channel, title="Series - Novedades", action="peliculas", - url="http://www.bajui.org/descargas/categoria/3/series", - fanart=item.fanart, viewmode="movie_with_plot")) - itemlist.append(Item(channel=item.channel, title="Series - A-Z", action="peliculas", - url="http://www.bajui.org/descargas/categoria/3/series/orden:nombre", - fanart=item.fanart, viewmode="movie_with_plot")) - itemlist.append(Item(channel=item.channel, title="Series - HD", action="peliculas", - url="http://www.bajui.org/descargas/subcategoria/11/hd/orden:nombre", - fanart=item.fanart, viewmode="movie_with_plot")) - itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url="", - fanart=item.fanart)) - return itemlist - - -def menudocumentales(item): - logger.info() - itemlist = [] - itemlist.append(Item(channel=item.channel, title="Documentales - Novedades", action="peliculas", - url="http://www.bajui.org/descargas/categoria/7/docus-y-tv", - fanart=item.fanart, viewmode="movie_with_plot")) - itemlist.append(Item(channel=item.channel, title="Documentales - A-Z", action="peliculas", - url="http://www.bajui.org/descargas/categoria/7/docus-y-tv/orden:nombre", - fanart=item.fanart, viewmode="movie_with_plot")) - itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url="", - fanart=item.fanart)) - return itemlist - - -def search(item, texto, categoria=""): - logger.info(item.url + " search " + texto) - itemlist = [] - url = item.url - texto = texto.replace(" ", "+") - logger.info("categoria: " + categoria + " url: " + url) - try: - item.url = "http://www.bajui.org/descargas/busqueda/%s" - item.url = item.url % texto - itemlist.extend(peliculas(item)) - return itemlist - # Se captura la excepción, para no interrumpir al buscador global si un canal falla - except: - import sys - for line in sys.exc_info(): - logger.error("%s" % line) - return [] - - -def peliculas(item, paginacion=True): - logger.info() - url = item.url - data = httptools.downloadpage(url).data - patron = '([^<]+)<'
- matches = scrapertools.find_multiple_matches(data, patron)
- for url, thumb, title in matches:
- titulo = title.strip()
- title = re.sub(r"\d+x.*|\(.*?\)", "", title)
- new_item = item.clone(action="findvideos", title="[COLOR orange]" + titulo + "[/COLOR]", url=url,
- thumbnail=thumb,
- fulltitle=title, contentTitle=title, show=title, contentType="tvshow", library=True)
- new_item.infoLabels['year'] = get_year(url)
- itemlist.append(new_item)
- ## Paginación
- next = scrapertools.find_single_match(data, "
.*?\(current\).*?href='([^']+)'")
- if len(next) > 0:
- url = next
-
- itemlist.append(
- item.clone(title="[COLOR springgreen][B]Siguiente >>[/B][/COLOR]", thumbnail="http://imgur.com/a7lQAld.png",
- url=url))
- try:
- from core import tmdb
- tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
- for item in itemlist:
- if not "Siguiente >>" in item.title:
- if "0." in str(item.infoLabels['rating']):
- item.infoLabels['rating'] = "[COLOR indianred]Sin puntuacíon[/COLOR]"
- else:
- item.infoLabels['rating'] = "[COLOR springgreen]" + str(item.infoLabels['rating']) + "[/COLOR]"
- item.title = item.title + " " + str(item.infoLabels['rating'])
-
- except:
- pass
- return itemlist
-
-
-def findtemporadas(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
- if len(item.extra.split("|")):
- if len(item.extra.split("|")) >= 4:
- fanart = item.extra.split("|")[2]
- extra = item.extra.split("|")[3]
- try:
- fanart_extra = item.extra.split("|")[4]
- except:
- fanart_extra = item.extra.split("|")[3]
- try:
- fanart_info = item.extra.split("|")[5]
- except:
- fanart_extra = item.extra.split("|")[3]
- elif len(item.extra.split("|")) == 3:
- fanart = item.extra.split("|")[2]
- extra = item.extra.split("|")[0]
- fanart_extra = item.extra.split("|")[0]
- fanart_info = item.extra.split("|")[1]
- elif len(item.extra.split("|")) == 2:
- fanart = item.extra.split("|")[1]
- extra = item.extra.split("|")[0]
- fanart_extra = item.extra.split("|")[0]
- fanart_info = item.extra.split("|")[1]
- else:
- extra = item.extra
- fanart_extra = item.extra
- fanart_info = item.extra
- try:
- logger.info(fanart_extra)
- logger.info(fanart_info)
- except:
- fanart_extra = item.fanart
- fanart_info = item.fanart
- bloque_episodios = scrapertools.find_multiple_matches(data, 'Temporada (\d+).*?<\/a>(.*?)<\/table>')
- for temporada, bloque_epis in bloque_episodios:
- item.infoLabels = item.InfoLabels
- item.infoLabels['season'] = temporada
- itemlist.append(item.clone(action="epis",
- title="[COLOR saddlebrown][B]Temporada [/B][/COLOR]" + "[COLOR sandybrown][B]" + temporada + "[/B][/COLOR]",
- url=bloque_epis, contentType=item.contentType, contentTitle=item.contentTitle,
- show=item.show, extra=item.extra, fanart_extra=fanart_extra, fanart_info=fanart_info,
- datalibrary=data, folder=True))
- tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
- for item in itemlist:
- item.fanart = fanart
- item.extra = extra
- if config.get_videolibrary_support() and itemlist:
- if len(bloque_episodios) == 1:
- extra = "epis"
- else:
- extra = "epis###serie_add"
-
- infoLabels = {'tmdb_id': item.infoLabels['tmdb_id'], 'tvdb_id': item.infoLabels['tvdb_id'],
- 'imdb_id': item.infoLabels['imdb_id']}
- itemlist.append(Item(channel=item.channel, title="Añadir esta serie a la videoteca", text_color="0xFFe5ffcc",
- action="add_serie_to_library", extra=extra, url=item.url,
- contentSerieName=item.fulltitle, infoLabels=infoLabels,
- thumbnail='http://imgur.com/xQNTqqy.png', datalibrary=data))
- return itemlist
-
-
-def epis(item):
- logger.info()
- itemlist = []
- if item.extra == "serie_add":
- item.url = item.datalibrary
- patron = '
.*?(\d+x\d+).*?td>'
- matches = scrapertools.find_multiple_matches(item.url, patron)
- for idioma, url, epi in matches:
- episodio = scrapertools.find_single_match(epi, '\d+x(\d+)')
- item.infoLabels['episode'] = episodio
- itemlist.append(
- item.clone(title="[COLOR orange]" + epi + "[/COLOR]" + "[COLOR sandybrown] " + idioma + "[/COLOR]", url=url,
- action="findvideos", show=item.show, fanart=item.extra, extra=item.extra,
- fanart_extra=item.fanart_extra, fanart_info=item.fanart_info, folder=True))
- if item.extra != "serie_add":
- tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
- for item in itemlist:
- item.fanart = item.extra
- if item.infoLabels['title']: title = "[COLOR burlywood]" + item.infoLabels['title'] + "[/COLOR]"
- item.title = item.title + " -- \"" + title + "\""
- return itemlist
-
-
-def findvideos(item):
- logger.info()
- itemlist = []
- data = httptools.downloadpage(item.url).data
- if item.contentType != "movie":
- if not item.infoLabels['episode']:
- capitulo = scrapertools.find_single_match(item.title, '(\d+x\d+)')
- patron = '= 2:
- extra = item.extra
- else:
- extra = item.fanart
- else:
- capitulo = item.title
- url_capitulo = item.url
-
- ext_v, size = ext_size(url_capitulo)
- try:
- fanart = item.fanart_extra
- except:
- fanart = item.extra.split("|")[0]
- itemlist.append(Item(channel=item.channel,
- title="[COLOR chocolate][B]Ver capítulo " + capitulo + "[/B][/COLOR]" + "-" + "[COLOR khaki] ( Video" + "[/COLOR]" + " " + "[COLOR khaki]" + ext_v + "[/COLOR]" + " " + "[COLOR khaki] " + size + " )" + "[/COLOR]",
- url=url_capitulo, action="play", server="torrent", fanart=fanart, thumbnail=item.thumbnail,
- extra=item.extra, fulltitle=item.fulltitle, folder=False))
- if item.infoLabels['episode'] and item.library:
- thumbnail = scrapertools.find_single_match(item.extra, 'http://assets.fanart.tv/.*jpg')
- if thumbnail == "":
- thumbnail = item.thumbnail
- if not "assets.fanart" in item.fanart_info:
- fanart = item.fanart_info
- else:
- fanart = item.fanart
- itemlist.append(Item(channel=item.channel, title="[COLOR darksalmon][B] info[/B][/COLOR]",
- action="info_capitulos", fanart=fanart, thumbnail=item.thumb_art,
- thumb_info=item.thumb_info, extra=item.extra, show=item.show,
- InfoLabels=item.infoLabels, folder=False))
- if not item.infoLabels['episode']:
- itemlist.append(
- Item(channel=item.channel, title="[COLOR moccasin][B]Todos los episodios[/B][/COLOR]", url=item.url,
- action="findtemporadas", server="torrent",
- thumbnail=item.thumbnail, extra=item.extra + "|" + item.thumbnail, contentType=item.contentType,
- contentTitle=item.contentTitle, InfoLabels=item.infoLabels, thumb_art=item.thumb_art,
- thumb_info=item.thumbnail, fulltitle=item.fulltitle, library=item.library, folder=True))
- else:
- url = scrapertools.find_single_match(data, '.*?href="([^"]+)"')
- item.infoLabels['year'] = None
- ext_v, size = ext_size(url)
- itemlist.append(Item(channel=item.channel,
- title="[COLOR saddlebrown][B]Torrent [/B][/COLOR]" + "-" + "[COLOR khaki] ( Video" + "[/COLOR]" + " " + "[COLOR khaki]" + ext_v + "[/COLOR]" + " " + "[COLOR khaki] " + size + " )" + "[/COLOR]",
- url=url, action="play", server="torrent", fanart=item.fanart, thumbnail=item.thumbnail,
- extra=item.extra, InfoLabels=item.infoLabels, folder=False))
-
- if item.library and config.get_videolibrary_support() and len(itemlist) > 0:
- infoLabels = {'tmdb_id': item.infoLabels['tmdb_id'],
- 'title': item.infoLabels['title']}
- itemlist.append(Item(channel=item.channel, title="Añadir esta película a la videoteca",
- action="add_pelicula_to_library", url=item.url, infoLabels=infoLabels,
- text_color="0xFFe5ffcc",
- thumbnail='http://imgur.com/xQNTqqy.png'))
- return itemlist
-
-
-def info_capitulos(item, images={}):
- logger.info()
- try:
- url = "http://thetvdb.com/api/1D62F2F90030C444/series/" + str(item.InfoLabels['tvdb_id']) + "/default/" + str(
- item.InfoLabels['season']) + "/" + str(item.InfoLabels['episode']) + "/es.xml"
- if "/0" in url:
- url = url.replace("/0", "/")
- from core import jsontools
- data = httptools.downloadpage(url).data
- if "
[^0-9]+([0-9]+)[^<]+"
- # ~ [^<]+(.+?)"
- matches = re.compile(patronvideos, re.DOTALL).findall(data)
- scrapertools.printMatches(matches)
-
- for match in matches:
- scrapedurl = match[0]
- # Se debe quitar saltos de linea en match[1]
- scrapedtitle = match[1][1:-1] + " (" + match[2] + ")"
- # ~ scrapedtitle = match[1]
- scrapedthumbnail = ""
- scrapedplot = ""
- logger.debug("title=[" + scrapedtitle + "], url=[" + scrapedurl + "], thumbnail=[" + scrapedthumbnail + "]")
- itemlist.append(Item(channel=item.channel, action="listvideos", title=scrapedtitle, url=scrapedurl,
- thumbnail=scrapedthumbnail, plot=scrapedplot, folder=True))
-
- return itemlist
-
-
-def DocuARCHIVO(item):
- logger.info()
- itemlist = []
-
- # Descarga la página
- data = scrapertools.cache_page(item.url)
- patronvideos = "([^<]+)[^<]+"
- patronvideos += "(.+?)"
- matches = re.compile(patronvideos, re.DOTALL).findall(data)
- scrapertools.printMatches(matches)
-
- for match in matches:
- scrapedurl = match[0]
- scrapedtitle = match[1] + " " + match[2]
- scrapedthumbnail = ""
- scrapedplot = ""
- logger.debug("title=[" + scrapedtitle + "], url=[" + scrapedurl + "], thumbnail=[" + scrapedthumbnail + "]")
- itemlist.append(Item(channel=item.channel, action="listvideos", title=scrapedtitle, url=scrapedurl,
- thumbnail=scrapedthumbnail, plot=scrapedplot, folder=True))
-
- return itemlist
-
-
-def listvideos(item):
- logger.info()
- itemlist = []
-
- scrapedthumbnail = ""
- scrapedplot = ""
-
- # Descarga la página
- data = scrapertools.cache_page(item.url)
- patronvideos = ".*?(\d+\d+\d+\d+)')
- if year == "":
- year = " "
- return year
-
-
-def ext_size(url):
- torrents_path = config.get_videolibrary_path() + '/torrents'
- if not os.path.exists(torrents_path):
- os.mkdir(torrents_path)
- try:
- urllib.urlretrieve("http://anonymouse.org/cgi-bin/anon-www.cgi/" + url, torrents_path + "/temp.torrent")
- pepe = open(torrents_path + "/temp.torrent", "rb").read()
- except:
- pepe = ""
- torrent = decode(pepe)
- try:
- name = torrent["info"]["name"]
- sizet = torrent["info"]['length']
- sizet = convert_size(sizet)
- except:
- name = "no disponible"
- try:
- check_video = scrapertools.find_multiple_matches(str(torrent["info"]["files"]), "'length': (\d+)}")
- size = max([int(i) for i in check_video])
- for file in torrent["info"]["files"]:
- manolo = "%r - %d bytes" % ("/".join(file["path"]), file["length"])
- if str(size) in manolo:
- video = manolo
- size = convert_size(size)
- ext_v = re.sub(r"-.*? bytes|.*?\[.*?\].|'|.*?COM.|.*?\[.*?\]|\(.*?\)|.*?\.", "", video)
- try:
- os.remove(torrents_path + "/temp.torrent")
- except:
- pass
- except:
- try:
- size = sizet
- ext_v = re.sub(r"-.*? bytes|.*?\[.*?\].|'|.*?COM.|.*?\.es.|.*?\[.*?\]|.*?\(.*?\)\.|.*?\.", "", name)
- except:
- size = "NO REPRODUCIBLE"
- ext_v = ""
- try:
- os.remove(torrents_path + "/temp.torrent")
- except:
- pass
- if "rar" in ext_v:
- ext_v = ext_v + " -- No reproducible"
- size = ""
- return ext_v, size
-
-
-def newest(categoria):
- logger.info()
- itemlist = []
- item = Item()
- try:
- if categoria == 'torrent':
- item.url = host + '/peliculas/'
- item.contentType="movie"
- itemlist = scraper(item)
- if itemlist[-1].title == "[COLOR springgreen][B]Siguiente >>[/B][/COLOR]":
- itemlist.pop()
- # Se captura la excepción, para no interrumpir al canal novedades si un canal falla
- except:
- import sys
- for line in sys.exc_info():
- logger.error("{0}".format(line))
- return []
- return itemlist
diff --git a/plugin.video.alfa/channels/doomtv.py b/plugin.video.alfa/channels/doomtv.py
index 4a9d5a38..d8c4907d 100644
--- a/plugin.video.alfa/channels/doomtv.py
+++ b/plugin.video.alfa/channels/doomtv.py
@@ -35,7 +35,9 @@ def mainlist(item):
action="lista",
thumbnail=get_thumb('all', auto=True),
fanart='https://s18.postimg.cc/fwvaeo6qh/todas.png',
- url='%s%s'%(host,'peliculas/page/1')
+ url='%s%s'%(host,'peliculas/'),
+ first=0
+
))
itemlist.append(
@@ -43,7 +45,7 @@ def mainlist(item):
action="seccion",
thumbnail=get_thumb('genres', auto=True),
fanart='https://s3.postimg.cc/5s9jg2wtf/generos.png',
- url='%s%s' % (host, 'peliculas/page/1'),
+ url='%s%s' % (host, 'peliculas/'),
))
itemlist.append(
@@ -51,7 +53,8 @@ def mainlist(item):
action="lista",
thumbnail=get_thumb('more watched', auto=True),
fanart='https://s9.postimg.cc/wmhzu9d7z/vistas.png',
- url='%s%s'%(host,'top-imdb/page/1'),
+ url='%s%s'%(host,'top-imdb/'),
+ first=0
))
itemlist.append(
@@ -69,9 +72,7 @@ def lista(item):
logger.info()
itemlist = []
- max_items = 20
- next_page_url = ''
-
+ next = False
data = httptools.downloadpage(item.url).data
data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data)
@@ -80,23 +81,13 @@ def lista(item):
matches = re.compile(patron, re.DOTALL).findall(data)
- if item.next_page != 'b':
- if len(matches) > max_items:
- next_page_url = item.url
- matches = matches[:max_items]
- next_page = 'b'
- else:
- matches = matches[max_items:]
- next_page = 'a'
- next_page_str = scrapertools.find_single_match(data,"([^<]+).*?"
- patronvideos += "
(.*?)