Merge remote-tracking branch 'alfa-addon/master' into Fixes

This commit is contained in:
unknown
2017-09-30 12:19:35 -03:00
6 changed files with 43 additions and 50 deletions
+10 -5
View File
@@ -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>
+10 -22
View File
@@ -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
+2 -2
View File
@@ -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)
+19 -19
View File
@@ -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}|&nbsp;", "", data) data = re.sub(r"\n|\r|\t|\(.*?\)|\s{2}|&nbsp;", "", 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|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<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|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<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|&nbsp;|<br>", "", data) data = re.sub(r"\n|\r|\t|&nbsp;|<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
+1 -1
View File
@@ -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: