Merge remote-tracking branch 'alfa-addon/master' into Fixes
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.alfa" name="Alfa" version="2.1.0" provider-name="Alfa Addon">
|
<addon id="plugin.video.alfa" name="Alfa" version="2.1.1" provider-name="Alfa Addon">
|
||||||
<requires>
|
<requires>
|
||||||
<import addon="xbmc.python" version="2.1.0"/>
|
<import addon="xbmc.python" version="2.1.0"/>
|
||||||
<import addon="script.module.libtorrent" optional="true"/>
|
<import addon="script.module.libtorrent" optional="true"/>
|
||||||
@@ -19,11 +19,16 @@
|
|||||||
</assets>
|
</assets>
|
||||||
<news>[B]Estos son los cambios para esta versión:[/B]
|
<news>[B]Estos son los cambios para esta versión:[/B]
|
||||||
[COLOR green][B]Canales agregados y arreglos[/B][/COLOR]
|
[COLOR green][B]Canales agregados y arreglos[/B][/COLOR]
|
||||||
» canalpelis » hdfull
|
» canalpelis » allcalidad
|
||||||
» xdvideos » playmax
|
» cinefox » cineasiaenlinea
|
||||||
» cinetux » gnula
|
» cinetux » divxatope
|
||||||
» flashx » rapidvideo
|
» maxipelis » pedropolis
|
||||||
|
» doomtv » animeshd
|
||||||
|
» hdfull » ultrapelishd
|
||||||
|
» pelisplus » cinecalidad
|
||||||
|
» peliculasnu » allpeliculas
|
||||||
¤ arreglos internos
|
¤ arreglos internos
|
||||||
|
[COLOR green]Gracias a [COLOR yellow]prpeaprendiz[/COLOR] por su colaboración en esta versión[/COLOR]
|
||||||
</news>
|
</news>
|
||||||
<description lang="es">Navega con Kodi por páginas web para ver sus videos de manera fácil.</description>
|
<description lang="es">Navega con Kodi por páginas web para ver sus videos de manera fácil.</description>
|
||||||
<summary lang="en">Browse web pages using Kodi</summary>
|
<summary lang="en">Browse web pages using Kodi</summary>
|
||||||
|
|||||||
@@ -6,8 +6,9 @@ import urllib
|
|||||||
from core import httptools
|
from core import httptools
|
||||||
from core import scrapertools
|
from core import scrapertools
|
||||||
from core import servertools
|
from core import servertools
|
||||||
|
from core import tmdb
|
||||||
from core.item import Item
|
from core.item import Item
|
||||||
from platformcode import logger
|
from platformcode import logger, config
|
||||||
|
|
||||||
tgenero = {"Comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png",
|
tgenero = {"Comedia": "https://s7.postimg.org/ne9g9zgwb/comedia.png",
|
||||||
"Drama": "https://s16.postimg.org/94sia332d/drama.png",
|
"Drama": "https://s16.postimg.org/94sia332d/drama.png",
|
||||||
@@ -110,7 +111,7 @@ def lista(item):
|
|||||||
url=next_page_url,
|
url=next_page_url,
|
||||||
thumbnail='https://s16.postimg.org/9okdu7hhx/siguiente.png'
|
thumbnail='https://s16.postimg.org/9okdu7hhx/siguiente.png'
|
||||||
))
|
))
|
||||||
|
tmdb.set_infoLabels(itemlist)
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
@@ -157,29 +158,16 @@ def episodios(item):
|
|||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
data = get_source(item.url)
|
data = get_source(item.url)
|
||||||
patron = '<li id=epi-.*? class=list-group-item ><a href=(.*?) class=badge.*?width=25 title=(.*?)> <\/span>(.*?)<\/li>'
|
patron = '<li id=epi-.*? class=list-group-item ><a href=(.*?) class=badge.*?width=25 title=(.*?)> <\/span>(.*?) (\d+)<\/li>'
|
||||||
matches = re.compile(patron, re.DOTALL).findall(data)
|
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||||
|
|
||||||
for scrapedurl, scrapedlang, scrapedtitle in matches:
|
for scrapedurl, scrapedlang, scrapedtitle, episode in matches:
|
||||||
language = scrapedlang
|
language = scrapedlang
|
||||||
title = scrapedtitle
|
title = scrapedtitle + " " + "1x" + episode
|
||||||
url = scrapedurl
|
url = scrapedurl
|
||||||
itemlist.append(item.clone(title=title, url=url, action='findvideos', language=language))
|
itemlist.append(item.clone(title=title, url=url, action='findvideos', language=language))
|
||||||
return itemlist
|
|
||||||
|
if config.get_videolibrary_support():
|
||||||
|
itemlist.append(Item(channel=item.channel, title="Añadir serie a la biblioteca", url=item.url, action="add_serie_to_library", extra="episodios", fanart=item.thumbnail, thumbnail=item.thumbnail, contentTitle=item.show, show=item.show))
|
||||||
def findvideos(item):
|
|
||||||
logger.info()
|
|
||||||
itemlist = []
|
|
||||||
|
|
||||||
data = get_source(item.url)
|
|
||||||
itemlist.extend(servertools.find_video_items(data=data))
|
|
||||||
|
|
||||||
for videoitem in itemlist:
|
|
||||||
title = item.title
|
|
||||||
videoitem.channel = item.channel
|
|
||||||
videoitem.title = title
|
|
||||||
videoitem.action = 'play'
|
|
||||||
|
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ def findvideos(item):
|
|||||||
|
|
||||||
if server_id in server_url:
|
if server_id in server_url:
|
||||||
server = server_id.lower()
|
server = server_id.lower()
|
||||||
thumbnail = item.contentThumbnail
|
thumbnail = item.thumbnail
|
||||||
if server_id == 'TVM':
|
if server_id == 'TVM':
|
||||||
server = 'thevideo.me'
|
server = 'thevideo.me'
|
||||||
url = server_url[server_id] + video_id + '.html'
|
url = server_url[server_id] + video_id + '.html'
|
||||||
@@ -367,7 +367,7 @@ def play(item):
|
|||||||
for videoitem in itemlist:
|
for videoitem in itemlist:
|
||||||
videoitem.title = item.fulltitle
|
videoitem.title = item.fulltitle
|
||||||
videoitem.fulltitle = item.fulltitle
|
videoitem.fulltitle = item.fulltitle
|
||||||
videoitem.thumbnail = item.contentThumbnail
|
videoitem.thumbnail = item.thumbnail
|
||||||
videoitem.channel = item.channel
|
videoitem.channel = item.channel
|
||||||
else:
|
else:
|
||||||
itemlist.append(item)
|
itemlist.append(item)
|
||||||
|
|||||||
@@ -99,10 +99,10 @@ def peliculas(item):
|
|||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
data = re.sub(r"\n|\r|\t|\(.*?\)|\s{2}| ", "", data)
|
data = re.sub(r"\n|\r|\t|\(.*?\)|\s{2}| ", "", data)
|
||||||
|
|
||||||
patron = '<div class="poster"><img src="([^"]+)" alt="([^"]+)">.*?' # img, title
|
patron = '<div class="poster"><img src="([^"]+)" alt="([^"]+)">.*?' # img, title
|
||||||
patron += '<div class="rating"><span class="[^"]+"></span>([^<]+).*?' # rating
|
patron += '<div class="rating"><span class="[^"]+"></span>([^<]+).*?' # rating
|
||||||
patron += '<span class="quality">([^<]+)</span><a href="([^"]+)">.*?' # calidad, url
|
patron += '<span class="quality">([^<]+)</span><a href="([^"]+)">.*?' # calidad, url
|
||||||
patron += '<span>([^<]+)</span>' # year
|
patron += '<span>([^<]+)</span>' # year
|
||||||
|
|
||||||
matches = scrapertools.find_multiple_matches(data, patron)
|
matches = scrapertools.find_multiple_matches(data, patron)
|
||||||
|
|
||||||
@@ -271,7 +271,7 @@ def series(item):
|
|||||||
data = re.sub(r"\n|\r|\t| |<br>", "", data)
|
data = re.sub(r"\n|\r|\t| |<br>", "", data)
|
||||||
# logger.info(data)
|
# logger.info(data)
|
||||||
|
|
||||||
patron = '<div class="poster"><img src="([^"]+)" alt="([^"]+)">.*?<a href="([^"]+)">'
|
patron = '<div class="poster"><img src="([^"]+)" alt="([^"]+)">.*?<a href="([^"]+)">' # img, title, url
|
||||||
|
|
||||||
matches = scrapertools.find_multiple_matches(data, patron)
|
matches = scrapertools.find_multiple_matches(data, patron)
|
||||||
|
|
||||||
@@ -323,8 +323,8 @@ def temporadas(item):
|
|||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
data = re.sub(r"\n|\r|\t| |<br>", "", data)
|
data = re.sub(r"\n|\r|\t| |<br>", "", data)
|
||||||
# logger.info(data)
|
# logger.info(data)
|
||||||
patron = '<span class="title">([^<]+)<i>.*?' # numeros de temporadas
|
patron = '<span class="title">([^<]+)<i>.*?' # season
|
||||||
patron += '<img src="([^"]+)"></a></div>' # capítulos
|
patron += '<img src="([^"]+)"></a></div>' # img
|
||||||
|
|
||||||
matches = scrapertools.find_multiple_matches(data, patron)
|
matches = scrapertools.find_multiple_matches(data, patron)
|
||||||
if len(matches) > 1:
|
if len(matches) > 1:
|
||||||
@@ -365,9 +365,9 @@ def episodios(item):
|
|||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
data = re.sub(r"\n|\r|\t| |<br>", "", data)
|
data = re.sub(r"\n|\r|\t| |<br>", "", data)
|
||||||
# logger.info(data)
|
# logger.info(data)
|
||||||
patron = '<div class="imagen"><a href="([^"]+)">.*?' # url cap, img
|
patron = '<div class="imagen"><a href="([^"]+)">.*?' # url
|
||||||
patron += '<div class="numerando">(.*?)</div>.*?' # numerando cap
|
patron += '<div class="numerando">(.*?)</div>.*?' # numerando cap
|
||||||
patron += '<a href="[^"]+">([^<]+)</a>' # title de episodios
|
patron += '<a href="[^"]+">([^<]+)</a>' # title de episodios
|
||||||
|
|
||||||
matches = scrapertools.find_multiple_matches(data, patron)
|
matches = scrapertools.find_multiple_matches(data, patron)
|
||||||
|
|
||||||
@@ -390,7 +390,6 @@ def episodios(item):
|
|||||||
new_item.infoLabels['episode'] = episode.zfill(2)
|
new_item.infoLabels['episode'] = episode.zfill(2)
|
||||||
|
|
||||||
itemlist.append(new_item)
|
itemlist.append(new_item)
|
||||||
tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
|
|
||||||
|
|
||||||
# TODO no hacer esto si estamos añadiendo a la videoteca
|
# TODO no hacer esto si estamos añadiendo a la videoteca
|
||||||
if not item.extra:
|
if not item.extra:
|
||||||
@@ -407,6 +406,8 @@ def episodios(item):
|
|||||||
itemlist.sort(key=lambda it: int(it.infoLabels['episode']),
|
itemlist.sort(key=lambda it: int(it.infoLabels['episode']),
|
||||||
reverse=config.get_setting('orden_episodios', __channel__))
|
reverse=config.get_setting('orden_episodios', __channel__))
|
||||||
|
|
||||||
|
tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
|
||||||
|
|
||||||
# Opción "Añadir esta serie a la videoteca"
|
# Opción "Añadir esta serie a la videoteca"
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0:
|
if config.get_videolibrary_support() and len(itemlist) > 0:
|
||||||
itemlist.append(Item(channel=__channel__, title="Añadir esta serie a la videoteca", url=item.url,
|
itemlist.append(Item(channel=__channel__, title="Añadir esta serie a la videoteca", url=item.url,
|
||||||
@@ -427,12 +428,13 @@ def findvideos(item):
|
|||||||
matches = re.compile(patron, re.DOTALL).findall(data)
|
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||||
|
|
||||||
for option, url in matches:
|
for option, url in matches:
|
||||||
lang = scrapertools.find_single_match(data, '<li><a class="options" href="#option-%s">.*?<img '
|
lang = scrapertools.find_single_match(data, '<li><a class="options" href="#option-%s">.*?</b>-->(\w+)' % option)
|
||||||
'src="http://pedropolis.com/wp-content/themes/dooplay/assets/img'
|
lang = lang.lower()
|
||||||
'/flags/(\w+)' % option)
|
idioma = {'latino': '[COLOR cornflowerblue](LAT)[/COLOR]',
|
||||||
idioma = {'mx': '[COLOR cornflowerblue](LAT)[/COLOR]', 'pe': '[COLOR cornflowerblue](LAT)[/COLOR]',
|
'drive': '[COLOR cornflowerblue](LAT)[/COLOR]',
|
||||||
'co': '[COLOR cornflowerblue](LAT)[/COLOR]', 'es': '[COLOR green](CAST)[/COLOR]',
|
'castellano': '[COLOR green](CAST)[/COLOR]',
|
||||||
'en': '[COLOR red](VOS)[/COLOR]', 'jp': '[COLOR green](VOS)[/COLOR]'}
|
'subtitulado': '[COLOR red](VOS)[/COLOR]',
|
||||||
|
'ingles': '[COLOR red](VOS)[/COLOR]'}
|
||||||
if lang in idioma:
|
if lang in idioma:
|
||||||
lang = idioma[lang]
|
lang = idioma[lang]
|
||||||
|
|
||||||
@@ -455,10 +457,8 @@ def findvideos(item):
|
|||||||
x.server.title(), x.quality, x.language)
|
x.server.title(), x.quality, x.language)
|
||||||
|
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'serie':
|
if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'serie':
|
||||||
itemlist.append(Item(channel=__channel__,
|
itemlist.append(Item(channel=__channel__, url=item.url, action="add_pelicula_to_library", extra="findvideos",
|
||||||
title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]',
|
title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]',
|
||||||
url=item.url, action="add_pelicula_to_library",
|
thumbnail=get_thumb("videolibrary_movie.png"), contentTitle=item.contentTitle))
|
||||||
thumbnail=get_thumb("videolibrary_movie.png"),
|
|
||||||
extra="findvideos", contentTitle=item.contentTitle))
|
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
@@ -470,7 +470,7 @@ def findvideos(item):
|
|||||||
videoitem.quality = 'default'
|
videoitem.quality = 'default'
|
||||||
videoitem.language = 'Latino'
|
videoitem.language = 'Latino'
|
||||||
if videoitem.server != '':
|
if videoitem.server != '':
|
||||||
videoitem.thumbnail = item.contentThumbnail
|
videoitem.thumbnail = item.thumbnail
|
||||||
else:
|
else:
|
||||||
videoitem.thumbnail = item.thumbnail
|
videoitem.thumbnail = item.thumbnail
|
||||||
videoitem.server = 'directo'
|
videoitem.server = 'directo'
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ def findvideos(item):
|
|||||||
for videoitem in itemlist:
|
for videoitem in itemlist:
|
||||||
videoitem.channel = item.channel
|
videoitem.channel = item.channel
|
||||||
videoitem.action = 'play'
|
videoitem.action = 'play'
|
||||||
videoitem.thumbnail = servertools.guess_server_thumbnail(videoitem.server)
|
videoitem.thumbnail = item.thumbnail
|
||||||
videoitem.infoLabels = item.infoLabels
|
videoitem.infoLabels = item.infoLabels
|
||||||
videoitem.title = item.contentTitle + ' (' + videoitem.server + ')'
|
videoitem.title = item.contentTitle + ' (' + videoitem.server + ')'
|
||||||
if 'youtube' in videoitem.url:
|
if 'youtube' in videoitem.url:
|
||||||
|
|||||||
Reference in New Issue
Block a user