Merge remote-tracking branch 'alfa-addon/master'
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.3.6" provider-name="Alfa Addon">
|
<addon id="plugin.video.alfa" name="Alfa" version="2.3.7" 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,8 +19,14 @@
|
|||||||
</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]
|
||||||
» seriesblanco » hdfull
|
» anitoonstv » asialiveaction
|
||||||
» gamovideo ¤ arreglos internos
|
» cinehindi » danimados
|
||||||
|
» mundiseries » pelisculashndu
|
||||||
|
» seodiv » serieslan
|
||||||
|
» crunchyroll » pelisfox
|
||||||
|
» stormo ¤ arreglos internos
|
||||||
|
[COLOR green]Gracias a [COLOR yellow]Danielr460, numa00009 y numa00009[/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>
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ def episodios(item):
|
|||||||
plot=scrapedplot, url=url, show=show))
|
plot=scrapedplot, url=url, show=show))
|
||||||
|
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0:
|
if config.get_videolibrary_support() and len(itemlist) > 0:
|
||||||
itemlist.append(Item(channel=item.channel, title="Añadir esta serie a la videoteca", url=item.url,
|
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="episodios", show=show))
|
action="add_serie_to_library", extra="episodios", show=show))
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ def findvideos(item):
|
|||||||
show = item.show
|
show = item.show
|
||||||
for videoitem in itemlist:
|
for videoitem in itemlist:
|
||||||
videoitem.channel = item.channel
|
videoitem.channel = item.channel
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0 and item.contentType=="movie":
|
if config.get_videolibrary_support() and len(itemlist) > 0 and item.contentType=="movie" and item.contentChannel!='videolibrary':
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel, title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
|
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=show))
|
action="add_pelicula_to_library", extra="findvideos", contentTitle=show))
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ def episodios(item):
|
|||||||
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, show=show))
|
itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, show=show))
|
||||||
|
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0:
|
if config.get_videolibrary_support() and len(itemlist) > 0:
|
||||||
itemlist.append(Item(channel=item.channel, title="Añadir " + show + " a la videoteca", url=item.url,
|
itemlist.append(Item(channel=item.channel, title="[COLOR yellow]Añadir " + show + " a la videoteca[/COLOR]", url=item.url,
|
||||||
action="add_serie_to_library", extra="episodios", show=show))
|
action="add_serie_to_library", extra="episodios", show=show))
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ def lista(item):
|
|||||||
|
|
||||||
if next_page_url != "":
|
if next_page_url != "":
|
||||||
item.url = next_page_url
|
item.url = next_page_url
|
||||||
itemlist.append(Item(channel=item.channel, action="lista", title=">> Página siguiente", url=next_page_url,
|
itemlist.append(Item(channel=item.channel, action="lista", title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=next_page_url,
|
||||||
thumbnail='https://s32.postimg.org/4zppxf5j9/siguiente.png'))
|
thumbnail='https://s32.postimg.org/4zppxf5j9/siguiente.png'))
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
@@ -132,14 +132,18 @@ def findvideos(item):
|
|||||||
logger.info()
|
logger.info()
|
||||||
|
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
itemlist1 = []
|
||||||
|
|
||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
itemlist.extend(servertools.find_video_items(data=data))
|
itemlist1.extend(servertools.find_video_items(data=data))
|
||||||
patron_show = '<div class="data"><h1 itemprop="name">([^<]+)<\/h1>'
|
patron_show = '<div class="data"><h1 itemprop="name">([^<]+)<\/h1>'
|
||||||
show = scrapertools.find_single_match(data, patron_show)
|
show = scrapertools.find_single_match(data, patron_show)
|
||||||
for videoitem in itemlist:
|
for videoitem in itemlist1:
|
||||||
videoitem.channel = item.channel
|
videoitem.channel = item.channel
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0:
|
for i in range(len(itemlist1)):
|
||||||
|
if not 'youtube' in itemlist1[i].title:
|
||||||
|
itemlist.append(itemlist1[i])
|
||||||
|
if config.get_videolibrary_support() and len(itemlist) > 0 and item.contentChannel!='videolibrary':
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel, title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
|
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=show))
|
action="add_pelicula_to_library", extra="findvideos", contentTitle=show))
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ def episodios(item):
|
|||||||
'style="width:(.*?)%.*?<span class="series-title.*?>\s*(.*?)</span>.*?<p class="short-desc".*?>' \
|
'style="width:(.*?)%.*?<span class="series-title.*?>\s*(.*?)</span>.*?<p class="short-desc".*?>' \
|
||||||
'\s*(.*?)</p>.*?description":"([^"]+)"'
|
'\s*(.*?)</p>.*?description":"([^"]+)"'
|
||||||
if data.count('class="season-dropdown') > 1:
|
if data.count('class="season-dropdown') > 1:
|
||||||
bloques = scrapertools.find_multiple_matches(data, 'class="season-dropdown[^"]+" title="([^"]+)"(.*?)</ul>')
|
bloques = scrapertools.find_multiple_matches(data, 'class="season-dropdown[^"]+".*?title="([^"]+)"(.*?)</ul>')
|
||||||
for season, b in bloques:
|
for season, b in bloques:
|
||||||
matches = scrapertools.find_multiple_matches(b, patron)
|
matches = scrapertools.find_multiple_matches(b, patron)
|
||||||
if matches:
|
if matches:
|
||||||
@@ -209,7 +209,6 @@ def episodios(item):
|
|||||||
Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumb, media_id=media_id,
|
Item(channel=item.channel, action="play", title=title, url=url, thumbnail=thumb, media_id=media_id,
|
||||||
server="crunchyroll", text_color=item.text_color, contentTitle=item.contentTitle,
|
server="crunchyroll", text_color=item.text_color, contentTitle=item.contentTitle,
|
||||||
contentSerieName=item.contentSerieName, contentType="tvshow"))
|
contentSerieName=item.contentSerieName, contentType="tvshow"))
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ def mainlist(item):
|
|||||||
thumbnail=thumb_series))
|
thumbnail=thumb_series))
|
||||||
itemlist.append(Item(channel=item.channel, action="mainpage", title="Más Populares", url=host,
|
itemlist.append(Item(channel=item.channel, action="mainpage", title="Más Populares", url=host,
|
||||||
thumbnail=thumb_series))
|
thumbnail=thumb_series))
|
||||||
#itemlist.append(Item(channel=item.channel, action="movies", title="Peliculas Animadas", url=host,
|
itemlist.append(Item(channel=item.channel, action="lista", title="Peliculas Animadas", url=host+"peliculas/",
|
||||||
# thumbnail=thumb_series))
|
thumbnail=thumb_series))
|
||||||
autoplay.show_option(item.channel, itemlist)
|
autoplay.show_option(item.channel, itemlist)
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
@@ -82,7 +82,6 @@ def mainpage(item):
|
|||||||
return itemlist
|
return itemlist
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def lista(item):
|
def lista(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
|
|
||||||
@@ -90,14 +89,25 @@ def lista(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)
|
||||||
data_lista = scrapertools.find_single_match(data, '<div class="items">(.+?)<\/div><\/div><div class=.+?>')
|
if item.title=="Peliculas Animadas":
|
||||||
|
data_lista = scrapertools.find_single_match(data,
|
||||||
|
'<div id="archive-content" class="animation-2 items">(.*)<a href=\'')
|
||||||
|
else:
|
||||||
|
data_lista = scrapertools.find_single_match(data,
|
||||||
|
'<div class="items">(.+?)<\/div><\/div><div class=.+?>')
|
||||||
patron = '<img src="([^"]+)" alt="([^"]+)">.+?<a href="([^"]+)">.+?<div class="texto">(.+?)<\/div>'
|
patron = '<img src="([^"]+)" alt="([^"]+)">.+?<a href="([^"]+)">.+?<div class="texto">(.+?)<\/div>'
|
||||||
#scrapedthumbnail,#scrapedtitle, #scrapedurl, #scrapedplot
|
#scrapedthumbnail,#scrapedtitle, #scrapedurl, #scrapedplot
|
||||||
matches = scrapertools.find_multiple_matches(data_lista, patron)
|
matches = scrapertools.find_multiple_matches(data_lista, patron)
|
||||||
for scrapedthumbnail,scrapedtitle, scrapedurl, scrapedplot in matches:
|
for scrapedthumbnail,scrapedtitle, scrapedurl, scrapedplot in matches:
|
||||||
|
if item.title=="Peliculas Animadas":
|
||||||
|
itemlist.append(
|
||||||
|
item.clone(title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, contentType="movie",
|
||||||
|
plot=scrapedplot, action="findvideos", show=scrapedtitle))
|
||||||
|
else:
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
item.clone(title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
|
item.clone(title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail,
|
||||||
context=autoplay.context,plot=scrapedplot, action="episodios", show=scrapedtitle))
|
context=autoplay.context,plot=scrapedplot, action="episodios", show=scrapedtitle))
|
||||||
|
if item.title!="Peliculas Animadas":
|
||||||
tmdb.set_infoLabels(itemlist)
|
tmdb.set_infoLabels(itemlist)
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
@@ -124,7 +134,7 @@ def episodios(item):
|
|||||||
action="findvideos", title=title, url=scrapedurl, show=show))
|
action="findvideos", title=title, url=scrapedurl, show=show))
|
||||||
|
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0:
|
if config.get_videolibrary_support() and len(itemlist) > 0:
|
||||||
itemlist.append(Item(channel=item.channel, title="[COLOR blue]Añadir " + show + " a la videoteca[/COLOR]", url=item.url,
|
itemlist.append(Item(channel=item.channel, title="[COLOR yellow]Añadir " + show + " a la videoteca[/COLOR]", url=item.url,
|
||||||
action="add_serie_to_library", extra="episodios", show=show))
|
action="add_serie_to_library", extra="episodios", show=show))
|
||||||
|
|
||||||
|
|
||||||
@@ -141,6 +151,7 @@ def findvideos(item):
|
|||||||
data = scrapertools.find_single_match(data,
|
data = scrapertools.find_single_match(data,
|
||||||
'<div id="playex" .+?>(.+?)<\/nav><\/div><\/div>')
|
'<div id="playex" .+?>(.+?)<\/nav><\/div><\/div>')
|
||||||
patron='src="(.+?)"'
|
patron='src="(.+?)"'
|
||||||
|
logger.info("assfxxv "+data)
|
||||||
itemla = scrapertools.find_multiple_matches(data,patron)
|
itemla = scrapertools.find_multiple_matches(data,patron)
|
||||||
for i in range(len(itemla)):
|
for i in range(len(itemla)):
|
||||||
#for url in itemla:
|
#for url in itemla:
|
||||||
@@ -152,6 +163,8 @@ def findvideos(item):
|
|||||||
server='okru'
|
server='okru'
|
||||||
else:
|
else:
|
||||||
server=''
|
server=''
|
||||||
|
if "youtube" in url:
|
||||||
|
server='youtube'
|
||||||
if "openload" in url:
|
if "openload" in url:
|
||||||
server='openload'
|
server='openload'
|
||||||
if "google" in url:
|
if "google" in url:
|
||||||
@@ -166,6 +179,10 @@ def findvideos(item):
|
|||||||
title="NO DISPONIBLE"
|
title="NO DISPONIBLE"
|
||||||
if title!="NO DISPONIBLE":
|
if title!="NO DISPONIBLE":
|
||||||
itemlist.append(item.clone(title=title,url=url, action="play", server=server))
|
itemlist.append(item.clone(title=title,url=url, action="play", server=server))
|
||||||
|
if config.get_videolibrary_support() and len(itemlist) > 0 and item.contentType=="movie" and item.contentChannel!='videolibrary':
|
||||||
|
itemlist.append(
|
||||||
|
item.clone(channel=item.channel, title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
|
||||||
|
action="add_pelicula_to_library", contentTitle=item.show))
|
||||||
|
|
||||||
autoplay.start(itemlist, item)
|
autoplay.start(itemlist, item)
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ def faq(item):
|
|||||||
"Puedes intentar subsanar estos problemas en 'Configuración'>'Ajustes de "
|
"Puedes intentar subsanar estos problemas en 'Configuración'>'Ajustes de "
|
||||||
"la videoteca', cambiando el ajuste 'Realizar búsqueda de contenido en' "
|
"la videoteca', cambiando el ajuste 'Realizar búsqueda de contenido en' "
|
||||||
"de 'La carpeta de cada serie' a 'Toda la videoteca'."
|
"de 'La carpeta de cada serie' a 'Toda la videoteca'."
|
||||||
"También puedes acudir a 'http://alfa-addon.ga' en busca de ayuda.")
|
"También puedes acudir a 'http://alfa-addon.com' en busca de ayuda.")
|
||||||
|
|
||||||
return TextBox("DialogTextViewer.xml", os.getcwd(), "Default", title=title, text=text)
|
return TextBox("DialogTextViewer.xml", os.getcwd(), "Default", title=title, text=text)
|
||||||
|
|
||||||
@@ -145,7 +145,7 @@ def faq(item):
|
|||||||
text = ("Puede ser que la página web del canal no funcione. "
|
text = ("Puede ser que la página web del canal no funcione. "
|
||||||
"En caso de que funcione la página web puede que no seas el primero"
|
"En caso de que funcione la página web puede que no seas el primero"
|
||||||
" en haberlo visto y que el canal este arreglado. "
|
" en haberlo visto y que el canal este arreglado. "
|
||||||
"Puedes mirar en 'alfa-addon.ga' o en el "
|
"Puedes mirar en 'alfa-addon.com' o en el "
|
||||||
"repositorio de GitHub (github.com/alfa-addon/addon). "
|
"repositorio de GitHub (github.com/alfa-addon/addon). "
|
||||||
"Si no encuentras el canal arreglado puedes reportar un "
|
"Si no encuentras el canal arreglado puedes reportar un "
|
||||||
"problema en el foro.")
|
"problema en el foro.")
|
||||||
@@ -198,15 +198,20 @@ def faq(item):
|
|||||||
log_name = "kodi.log"
|
log_name = "kodi.log"
|
||||||
ruta = xbmc.translatePath("special://logpath") + log_name
|
ruta = xbmc.translatePath("special://logpath") + log_name
|
||||||
title = "Alfa - FAQ - %s" % item.title[6:]
|
title = "Alfa - FAQ - %s" % item.title[6:]
|
||||||
text = ("Para reportar un problema en 'http://alfa-addon.ga' es necesario:\n"
|
text = ("Para reportar un problema en 'http://alfa-addon.com' es necesario:\n"
|
||||||
" - Versión que usas de Alfa.\n"
|
" - Versión que usas de Alfa.\n"
|
||||||
" - Versión que usas de kodi, mediaserver, etc.\n"
|
" - Versión que usas de kodi, mediaserver, etc.\n"
|
||||||
|
" - Versión y nombre del sistema operativo que usas.\n"
|
||||||
" - Nombre del skin (en el caso que uses Kodi) y si se "
|
" - Nombre del skin (en el caso que uses Kodi) y si se "
|
||||||
"te ha resuelto el problema al usar el skin por defecto.\n"
|
"te ha resuelto el problema al usar el skin por defecto.\n"
|
||||||
" - Descripción del problema y algún caso de prueba.\n"
|
" - Descripción del problema y algún caso de prueba.\n"
|
||||||
" - Agregar el log en modo detallado, una vez hecho esto, "
|
" - Agregar el log en modo detallado, una vez hecho esto, "
|
||||||
"zipea el log y lo puedes adjuntar en un post.\n\n"
|
"zipea el log y lo puedes adjuntar en un post.\n\n"
|
||||||
"El log se encuentra en: \n\n"
|
"Para activar el log en modo detallado, ingresar a:\n"
|
||||||
|
" - Configuración.\n"
|
||||||
|
" - Preferencias.\n"
|
||||||
|
" - En la pestaña General - Marcar la opción: Generar log detallado.\n\n"
|
||||||
|
"El archivo de log detallado se encuentra en la siguiente ruta: \n\n"
|
||||||
"%s" % ruta)
|
"%s" % ruta)
|
||||||
|
|
||||||
return TextBox("DialogTextViewer.xml", os.getcwd(), "Default", title=title, text=text)
|
return TextBox("DialogTextViewer.xml", os.getcwd(), "Default", title=title, text=text)
|
||||||
@@ -214,6 +219,6 @@ def faq(item):
|
|||||||
else:
|
else:
|
||||||
platformtools.dialog_ok("Alfa",
|
platformtools.dialog_ok("Alfa",
|
||||||
"Entérate de novedades, consejos u opciones que desconoces en Telegram: @alfa_addon.\n"
|
"Entérate de novedades, consejos u opciones que desconoces en Telegram: @alfa_addon.\n"
|
||||||
"Si tienes problemas o dudas, puedes acudir al Foro: http://alfa-addon.ga")
|
"Si tienes problemas o dudas, puedes acudir al Foro: http://alfa-addon.com")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -34,9 +34,13 @@ ACTION_MOVE_LEFT = 1
|
|||||||
ACTION_MOVE_RIGHT = 2
|
ACTION_MOVE_RIGHT = 2
|
||||||
ACTION_MOVE_DOWN = 4
|
ACTION_MOVE_DOWN = 4
|
||||||
ACTION_MOVE_UP = 3
|
ACTION_MOVE_UP = 3
|
||||||
OPTION_PANEL = 6
|
|
||||||
OPTIONS_OK = 5
|
|
||||||
|
|
||||||
|
set_animation = False
|
||||||
|
xinfoplus_set = config.get_setting("infoplus_set")
|
||||||
|
if xinfoplus_set == "Sin animación":
|
||||||
|
set_animation = False
|
||||||
|
if xinfoplus_set == "Con animación":
|
||||||
|
set_animation = True
|
||||||
|
|
||||||
def start(item, recomendaciones=[], from_window=False):
|
def start(item, recomendaciones=[], from_window=False):
|
||||||
global mainWindow
|
global mainWindow
|
||||||
@@ -50,8 +54,8 @@ def start(item, recomendaciones=[], from_window=False):
|
|||||||
global SearchWindows
|
global SearchWindows
|
||||||
SearchWindows = list()
|
SearchWindows = list()
|
||||||
|
|
||||||
dialog = platformtools.dialog_progress("[COLOR darkturquoise][B]Cargando nuevos datos[/B][/COLOR]",
|
dialog = platformtools.dialog_progress("Cargando nuevos datos",
|
||||||
"[COLOR lightyellow]Buscando en [/COLOR][COLOR springgreen][B]Tmdb.......[/B][/COLOR]")
|
"Buscandoen Tmdb.......")
|
||||||
|
|
||||||
principal_window = main(item=item, recomendaciones=recomendaciones, dialog=dialog, from_window=from_window)
|
principal_window = main(item=item, recomendaciones=recomendaciones, dialog=dialog, from_window=from_window)
|
||||||
try:
|
try:
|
||||||
@@ -87,7 +91,6 @@ class main(xbmcgui.WindowDialog):
|
|||||||
self.infoLabels["tmdb_id"] = self.item.extra.split("|")[1]
|
self.infoLabels["tmdb_id"] = self.item.extra.split("|")[1]
|
||||||
else:
|
else:
|
||||||
self.infoLabels["tmdb_id"] = self.item.extra.split("|")[2]
|
self.infoLabels["tmdb_id"] = self.item.extra.split("|")[2]
|
||||||
critica = self.item.critica
|
|
||||||
rating = self.infoLabels.get("rating")
|
rating = self.infoLabels.get("rating")
|
||||||
titulo = self.infoLabels["title"]
|
titulo = self.infoLabels["title"]
|
||||||
self.images = []
|
self.images = []
|
||||||
@@ -96,6 +99,13 @@ class main(xbmcgui.WindowDialog):
|
|||||||
info_copy = dict(self.item.infoLabels)
|
info_copy = dict(self.item.infoLabels)
|
||||||
self.item.infoLabels.pop("season", None)
|
self.item.infoLabels.pop("season", None)
|
||||||
self.item.infoLabels.pop("episode", None)
|
self.item.infoLabels.pop("episode", None)
|
||||||
|
if not self.item.infoLabels["year"]:
|
||||||
|
self.dialog.close()
|
||||||
|
platformtools.dialog_notification("Sin resultados. Falta información del año del video", "No hay info de la %s solicitada" % tipo)
|
||||||
|
global mainWindow
|
||||||
|
self.close()
|
||||||
|
del mainWindow
|
||||||
|
return
|
||||||
tmdb.set_infoLabels_item(self.item, True)
|
tmdb.set_infoLabels_item(self.item, True)
|
||||||
self.infoLabels = self.item.infoLabels
|
self.infoLabels = self.item.infoLabels
|
||||||
self.infoLabels["season"] = info_copy.get("season", None)
|
self.infoLabels["season"] = info_copy.get("season", None)
|
||||||
@@ -112,7 +122,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
titulo = "[COLOR olive][B]%s[/B][/COLOR]" % self.infoLabels.get("title")
|
titulo = "[COLOR olive][B]%s[/B][/COLOR]" % self.infoLabels.get("title")
|
||||||
try:
|
try:
|
||||||
if not self.infoLabels.get("rating"):
|
if not self.infoLabels.get("rating"):
|
||||||
rating = "[COLOR crimson][B]Sin puntuación[/B][/COLOR]"
|
rating = "[COLOR crimson][B]N/A[/B][/COLOR]"
|
||||||
elif self.infoLabels.get("rating") >= 5 and self.infoLabels.get("rating") < 8:
|
elif self.infoLabels.get("rating") >= 5 and self.infoLabels.get("rating") < 8:
|
||||||
rating = "[COLOR springgreen][B]%s[/B][/COLOR]" % self.infoLabels["rating"]
|
rating = "[COLOR springgreen][B]%s[/B][/COLOR]" % self.infoLabels["rating"]
|
||||||
elif self.infoLabels.get("rating") >= 8:
|
elif self.infoLabels.get("rating") >= 8:
|
||||||
@@ -123,8 +133,8 @@ class main(xbmcgui.WindowDialog):
|
|||||||
rating = "[COLOR crimson][B]%s[/B][/COLOR]" % self.infoLabels["rating"]
|
rating = "[COLOR crimson][B]%s[/B][/COLOR]" % self.infoLabels["rating"]
|
||||||
|
|
||||||
self.dialog.update(40,
|
self.dialog.update(40,
|
||||||
'[COLOR teal]Registrando[/COLOR]' + '[COLOR yellow][B] film[/B][/COLOR]' + '[COLOR floralwhite][B]affinity.......[/B][/COLOR]')
|
'Registrando filmaffinity.......')
|
||||||
critica, rating_fa, plot_fa = get_filmaf(self.item, self.infoLabels)
|
rating_fa, plot_fa = get_filmaf(self.item, self.infoLabels)
|
||||||
if not self.infoLabels.get("plot") and plot_fa:
|
if not self.infoLabels.get("plot") and plot_fa:
|
||||||
self.infoLabels["plot"] = "[COLOR moccasin][B]%s[/B][/COLOR]" % plot_fa
|
self.infoLabels["plot"] = "[COLOR moccasin][B]%s[/B][/COLOR]" % plot_fa
|
||||||
elif not self.infoLabels["plot"]:
|
elif not self.infoLabels["plot"]:
|
||||||
@@ -132,7 +142,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
else:
|
else:
|
||||||
self.infoLabels["plot"] = "[COLOR moccasin][B]%s[/B][/COLOR]" % self.infoLabels.get("plot")
|
self.infoLabels["plot"] = "[COLOR moccasin][B]%s[/B][/COLOR]" % self.infoLabels.get("plot")
|
||||||
|
|
||||||
self.dialog.update(60, '[COLOR khaki]Indagando recomendaciones.......[/COLOR]')
|
self.dialog.update(60, 'Indagando recomendaciones.......')
|
||||||
thread1 = Thread(target=get_recomendations, args=[self.item, self.infoLabels, self.recomendaciones])
|
thread1 = Thread(target=get_recomendations, args=[self.item, self.infoLabels, self.recomendaciones])
|
||||||
thread1.setDaemon(True)
|
thread1.setDaemon(True)
|
||||||
thread1.start()
|
thread1.start()
|
||||||
@@ -173,7 +183,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
if self.item.contentType != "movie":
|
if self.item.contentType != "movie":
|
||||||
self.dialog.update(60,
|
self.dialog.update(60,
|
||||||
'[COLOR teal]Recopilando imágenes en [/COLOR]' + '[COLOR floralwhite][B]FAN[/B][/COLOR]' + '[COLOR slategray][B]ART.[/B][/COLOR]' + '[COLOR darkgray]TV.......[/COLOR]')
|
'Recopilando imágenes en FANART.TV')
|
||||||
try:
|
try:
|
||||||
###Busca música serie
|
###Busca música serie
|
||||||
titulo = re.sub('\[.*?\]', '', titulo)
|
titulo = re.sub('\[.*?\]', '', titulo)
|
||||||
@@ -199,11 +209,9 @@ class main(xbmcgui.WindowDialog):
|
|||||||
logger.error(traceback.format_exc())
|
logger.error(traceback.format_exc())
|
||||||
|
|
||||||
if xbmc.Player().isPlaying():
|
if xbmc.Player().isPlaying():
|
||||||
self.dialog.update(80,
|
self.dialog.update(80, 'Afinado instrumentos en Vtunes')
|
||||||
'[COLOR teal]Afinado instrumentos en [/COLOR]' + '[COLOR cyan][B]T[/B][/COLOR]' + '[COLOR paleturquoise][B]V[/B][/COLOR]' + '[COLOR floralwhite]tu[/COLOR]' + '[COLOR darkgray][B]n[/B][/COLOR]' + '[COLOR slategray][B]es[/B][/COLOR]')
|
|
||||||
else:
|
else:
|
||||||
self.dialog.update(80,
|
self.dialog.update(80, 'Recopilando imágenes en FANART.TV')
|
||||||
'[COLOR teal]Recopilando imágenes en [/COLOR]' + '[COLOR floralwhite][B]FAN[/B][/COLOR]' + '[COLOR slategray][B]ART.[/B][/COLOR]' + '[COLOR darkgray]TV.......[/COLOR]')
|
|
||||||
|
|
||||||
while thread2.isAlive():
|
while thread2.isAlive():
|
||||||
xbmc.sleep(100)
|
xbmc.sleep(100)
|
||||||
@@ -267,41 +275,35 @@ class main(xbmcgui.WindowDialog):
|
|||||||
skin = xbmc.getSkinDir()
|
skin = xbmc.getSkinDir()
|
||||||
self.fonts = get_fonts(skin)
|
self.fonts = get_fonts(skin)
|
||||||
self.setCoordinateResolution(2)
|
self.setCoordinateResolution(2)
|
||||||
self.actorButton = xbmcgui.ControlButton(650, 50, 60, 60, '', font='Font40', alignment=0x00000006,
|
self.actorButton = xbmcgui.ControlButton(995, 475, 55, 55, '', font='Font40', alignment=0x00000006,
|
||||||
noFocusTexture='http://i.imgur.com/yK4LCqB.png',
|
noFocusTexture='https://s17.postimg.org/40acsuihb/thumb_search_star_no.png',
|
||||||
focusTexture='http://s6.postimg.org/djdkrpz0x/starzen.png',
|
focusTexture='https://s33.postimg.org/ikk0qyvrj/thumb_search_star.png',
|
||||||
focusedColor='0xFFAAAAAA')
|
focusedColor='0xFFAAAAAA')
|
||||||
self.trailerButton = xbmcgui.ControlButton(550, 50, 60, 60, '', font='Font40', alignment=0x00000006,
|
self.trailerButton = xbmcgui.ControlButton(910, 475, 55, 55, '', font='Font40', alignment=0x00000006,
|
||||||
noFocusTexture='http://s6.postimg.org/dbs8k30r5/zentrailer.png',
|
noFocusTexture='https://s17.postimg.org/774wcgv7j/thumb_search_trailer_no.png',
|
||||||
focusTexture='http://s6.postimg.org/jqr9gr7gx/zentrailerfocused.png')
|
focusTexture='https://s17.postimg.org/o9tfjmqvz/thumb_search_trailer.png')
|
||||||
|
|
||||||
self.background = xbmcgui.ControlImage(-40, -40, 1500, 830, 'http://imgur.com/ur6H9Ps.png')
|
self.background = xbmcgui.ControlImage(-40, -40, 1500, 830, 'http://imgur.com/ur6H9Ps.png')
|
||||||
self.title = xbmcgui.ControlTextBox(120, 0, 1130, 50)
|
self.title = xbmcgui.ControlTextBox(120, 8, 1130, 50, self.fonts["16"])
|
||||||
self.rating = xbmcgui.ControlTextBox(415, 37, 1040, 50)
|
self.rating = xbmcgui.ControlTextBox(260, 112, 1040, 50)
|
||||||
self.rating_filma = xbmcgui.ControlTextBox(417, 112, 1043, 50)
|
self.rating_filma = xbmcgui.ControlTextBox(417, 112, 1043, 50)
|
||||||
self.tagline = xbmcgui.ControlFadeLabel(120, 70, 420, 45, self.fonts["12"])
|
self.tagline = xbmcgui.ControlFadeLabel(117, 50, 420, 45, self.fonts["12"])
|
||||||
self.plot = xbmcgui.ControlTextBox(117, 150, 1056, 150)
|
self.plot = xbmcgui.ControlTextBox(117, 145, 700, 600)
|
||||||
self.critica = xbmcgui.ControlTextBox(20, 386, 1056, 100, self.fonts["12"])
|
|
||||||
self.fanart = xbmcgui.ControlImage(-40, -40, 1500, 830, self.infoLabels.get("fanart", ""))
|
self.fanart = xbmcgui.ControlImage(-40, -40, 1500, 830, self.infoLabels.get("fanart", ""))
|
||||||
self.critica_image = xbmcgui.ControlImage(120, 300, 200, 90, 'http://imgur.com/kGmaIER.png')
|
self.poster = xbmcgui.ControlImage(860, 140, 350, 330, self.item.thumbnail)
|
||||||
self.icon = xbmcgui.ControlImage(360, 30, 40, 40, icono)
|
self.icon = xbmcgui.ControlImage(200, 100, 40, 40, icono)
|
||||||
self.fa_icon = xbmcgui.ControlImage(350, 100, 60, 60, "http://s6.postimg.org/6yhe5fgy9/filma.png")
|
self.fa_icon = xbmcgui.ControlImage(350, 100, 60, 60, "http://s6.postimg.org/6yhe5fgy9/filma.png")
|
||||||
|
|
||||||
self.addControl(self.fanart)
|
self.addControl(self.fanart)
|
||||||
|
if set_animation:
|
||||||
self.fanart.setAnimations([('conditional', 'effect=rotatey start=100% end=0% time=1500 condition=true',),
|
self.fanart.setAnimations([('conditional', 'effect=rotatey start=100% end=0% time=1500 condition=true',),
|
||||||
('unfocus', 'effect=zoom start=110% end=100% time=1000 tween=elastic easing=out',), (
|
('unfocus', 'effect=zoom start=110% end=100% time=1000 tween=elastic easing=out',), (
|
||||||
'WindowClose',
|
'WindowClose',
|
||||||
'effect=rotatey delay= 1000 start=0% end=-300% time=800 condition=true',)])
|
'effect=rotatey delay= 1000 start=0% end=-300% time=800 condition=true',)])
|
||||||
|
|
||||||
self.addControl(self.background)
|
self.addControl(self.background)
|
||||||
self.addControl(self.critica_image)
|
|
||||||
self.critica_image.setAnimations(
|
|
||||||
[('conditional', 'effect=rotatey center=500 start=300% end=0% time=3000 condition=true ',),
|
|
||||||
('unfocus', 'effect=zoom start=110% end=100% time=1000 tween=elastic easing=out',),
|
|
||||||
('focus', 'effect=zoom start=80% end=110% time=700',),
|
|
||||||
('WindowClose', 'effect=rotatey center=500 start=0% end=-300% time=800 condition=true',)])
|
|
||||||
self.addControl(self.trailerButton)
|
self.addControl(self.trailerButton)
|
||||||
self.botones.append(self.trailerButton)
|
self.botones.append(self.trailerButton)
|
||||||
|
if set_animation:
|
||||||
self.trailerButton.setAnimations(
|
self.trailerButton.setAnimations(
|
||||||
[('conditional', 'effect=slide start=-1500% end=0% delay=1200 time=4000 condition=true tween=elastic',),
|
[('conditional', 'effect=slide start=-1500% end=0% delay=1200 time=4000 condition=true tween=elastic',),
|
||||||
('unfocus', 'effect=zoom start=110% end=100% time=1000 tween=elastic easing=out',),
|
('unfocus', 'effect=zoom start=110% end=100% time=1000 tween=elastic easing=out',),
|
||||||
@@ -309,6 +311,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide start=0% end=-1500% time=800 condition=true',)])
|
('WindowClose', 'effect=slide start=0% end=-1500% time=800 condition=true',)])
|
||||||
self.addControl(self.actorButton)
|
self.addControl(self.actorButton)
|
||||||
self.botones.append(self.actorButton)
|
self.botones.append(self.actorButton)
|
||||||
|
if set_animation:
|
||||||
self.actorButton.setAnimations(
|
self.actorButton.setAnimations(
|
||||||
[('conditional', 'effect=slide start=1500% end=0% delay=1200 time=4000 condition=true tween=elastic',),
|
[('conditional', 'effect=slide start=1500% end=0% delay=1200 time=4000 condition=true tween=elastic',),
|
||||||
('unfocus', 'effect=zoom start=110% end=100% time=1000 tween=elastic easing=out',),
|
('unfocus', 'effect=zoom start=110% end=100% time=1000 tween=elastic easing=out',),
|
||||||
@@ -317,49 +320,54 @@ class main(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
self.setFocus(self.trailerButton)
|
self.setFocus(self.trailerButton)
|
||||||
self.addControl(self.title)
|
self.addControl(self.title)
|
||||||
|
if set_animation:
|
||||||
self.title.setAnimations([('conditional', 'effect=fade start=0% end=100% delay=1500 time=1500 condition=true',),
|
self.title.setAnimations([('conditional', 'effect=fade start=0% end=100% delay=1500 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade start=100% end=0% time=800 condition=true',)])
|
('WindowClose', 'effect=fade start=100% end=0% time=800 condition=true',)])
|
||||||
self.addControl(self.tagline)
|
self.addControl(self.tagline)
|
||||||
|
if set_animation:
|
||||||
self.tagline.setAnimations(
|
self.tagline.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0% end=100% delay=2000 time=1500 condition=true',),
|
[('conditional', 'effect=fade start=0% end=100% delay=2000 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade start=100% end=0% time=800 condition=true',)])
|
('WindowClose', 'effect=fade start=100% end=0% time=800 condition=true',)])
|
||||||
if self.item.contentType == "movie" and self.infoLabels.get("duration", 0):
|
if self.item.contentType == "movie" and self.infoLabels.get("duration", 0):
|
||||||
self.duration = xbmcgui.ControlTextBox(120, 100, 420, 45, self.fonts["12"])
|
self.duration = xbmcgui.ControlTextBox(120, 70, 420, 45, self.fonts["12"])
|
||||||
self.addControl(self.duration)
|
self.addControl(self.duration)
|
||||||
|
if set_animation:
|
||||||
self.duration.setAnimations(
|
self.duration.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0% end=100% delay=2000 time=1500 condition=true',),
|
[('conditional', 'effect=fade start=0% end=100% delay=2000 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade start=100% end=0% time=800 condition=true',)])
|
('WindowClose', 'effect=fade start=100% end=0% time=800 condition=true',)])
|
||||||
self.duration.setText(
|
self.duration.setText(
|
||||||
"[COLOR mediumturquoise][B]Duración: %s minutos[/B][/COLOR]" % self.infoLabels["duration"])
|
"[COLOR mediumturquoise][B]Duración: %s minutos[/B][/COLOR]" % self.infoLabels["duration"])
|
||||||
self.addControl(self.rating)
|
self.addControl(self.rating)
|
||||||
|
if set_animation:
|
||||||
self.rating.setAnimations(
|
self.rating.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=100% end=0% delay=3000 time=1500 condition=true',),
|
[('conditional', 'effect=rotatey start=100% end=0% delay=3000 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=rotatey start=0% end=100% time=800 condition=true',)])
|
('WindowClose', 'effect=rotatey start=0% end=100% time=800 condition=true',)])
|
||||||
self.addControl(self.rating_filma)
|
self.addControl(self.rating_filma)
|
||||||
|
if set_animation:
|
||||||
self.rating_filma.setAnimations(
|
self.rating_filma.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=100% end=0% delay=3000 time=1500 condition=true',),
|
[('conditional', 'effect=rotatey start=100% end=0% delay=3000 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=rotatey start=0% end=100% time=800 condition=true',)])
|
('WindowClose', 'effect=rotatey start=0% end=100% time=800 condition=true',)])
|
||||||
self.addControl(self.plot)
|
self.addControl(self.plot)
|
||||||
|
if set_animation:
|
||||||
self.plot.setAnimations(
|
self.plot.setAnimations(
|
||||||
[('conditional', 'effect=slide delay=2000 start=1500 time=3600 tween=elastic easing=inout condition=true',),
|
[('conditional', 'effect=slide delay=2000 start=1500 time=3600 tween=elastic easing=inout condition=true',),
|
||||||
('WindowClose', 'effect=zoom center=auto start=100% end=0% time=800 condition=true',)])
|
('WindowClose', 'effect=zoom center=auto start=100% end=0% time=800 condition=true',)])
|
||||||
self.addControl(self.critica)
|
|
||||||
self.critica.setAnimations([('conditional',
|
|
||||||
'effect=slide delay=1800 start=-1500% end=100% time=3600 tween=elastic easing=inout condition=true',),
|
|
||||||
('WindowClose', 'effect=slide start=100% end=-1500% time=800 condition=true',)])
|
|
||||||
|
|
||||||
|
self.addControl(self.poster)
|
||||||
if not self.infoLabels.get("images") and not self.images:
|
if not self.infoLabels.get("images") and not self.images:
|
||||||
self.thumbnail = xbmcgui.ControlImage(813, 0, 390, 150, 'http://i.imgur.com/oMjtYni.png')
|
self.thumbnail = xbmcgui.ControlImage(860, 0, 390, 150, 'http://i.imgur.com/oMjtYni.png')
|
||||||
self.addControl(self.thumbnail)
|
self.addControl(self.thumbnail)
|
||||||
|
if set_animation:
|
||||||
self.thumbnail.setAnimations(
|
self.thumbnail.setAnimations(
|
||||||
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true',), (
|
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
|
'effect=rotate delay=2000 center=auto aceleration=6000 start=0% end=360% time=800 condition=true',),
|
||||||
('WindowClose', 'effect=zoom start=100% end=0% time=600 condition=true',)])
|
('WindowClose', 'effect=zoom start=100% end=0% time=600 condition=true',)])
|
||||||
else:
|
else:
|
||||||
self.thumbnail = xbmcgui.ControlButton(813, 0, 390, 150, '', self.infoLabels.get("thumbnail", ""),
|
self.thumbnail = xbmcgui.ControlButton(860, 0, 350, 150, '', self.infoLabels.get("thumbnail", ""),
|
||||||
self.infoLabels.get("thumbnail", ""))
|
self.infoLabels.get("thumbnail", ""))
|
||||||
self.addControl(self.thumbnail)
|
self.addControl(self.thumbnail)
|
||||||
|
if set_animation:
|
||||||
self.thumbnail.setAnimations(
|
self.thumbnail.setAnimations(
|
||||||
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true',), (
|
[('conditional', 'effect=zoom delay=2000 center=auto start=0 end=100 time=800 condition=true',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
@@ -370,12 +378,14 @@ class main(xbmcgui.WindowDialog):
|
|||||||
self.botones.append(self.thumbnail)
|
self.botones.append(self.thumbnail)
|
||||||
|
|
||||||
self.addControl(self.icon)
|
self.addControl(self.icon)
|
||||||
|
if set_animation:
|
||||||
self.icon.setAnimations(
|
self.icon.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-700 delay=2000 time=2500 tween=bounce condition=true',), (
|
[('conditional', 'effect=slide start=0,-700 delay=2000 time=2500 tween=bounce condition=true',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
|
'effect=rotate center=auto start=0% end=360% delay=3000 time=2500 tween=bounce condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
||||||
self.addControl(self.fa_icon)
|
self.addControl(self.fa_icon)
|
||||||
|
if set_animation:
|
||||||
self.fa_icon.setAnimations(
|
self.fa_icon.setAnimations(
|
||||||
[('WindowOpen', 'effect=slide start=0,-700 delay=3000 time=2500 tween=bounce condition=true',),
|
[('WindowOpen', 'effect=slide start=0,-700 delay=3000 time=2500 tween=bounce condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
@@ -387,14 +397,10 @@ class main(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.plot.autoScroll(11000, 6000, 30000)
|
self.plot.autoScroll(11000, 6000, 30000)
|
||||||
self.critica.autoScroll(11000, 2500, 13000)
|
|
||||||
except:
|
except:
|
||||||
xbmc.executebuiltin(
|
xbmc.executebuiltin(
|
||||||
'Notification([COLOR red][B]Actualiza Kodi a su última versión[/B][/COLOR], [COLOR skyblue]para mejor info[/COLOR],8000, "http://i.imgur.com/mHgwcn3.png")')
|
'Notification([COLOR red][B]Actualiza Kodi a su última versión[/B][/COLOR], [COLOR skyblue]para mejor info[/COLOR],8000, "http://i.imgur.com/mHgwcn3.png")')
|
||||||
self.plot.setText(dhe(self.infoLabels.get("plot", "")))
|
self.plot.setText(dhe(self.infoLabels.get("plot", "")))
|
||||||
self.critica.setText(critica)
|
|
||||||
self.critica_butt = xbmcgui.ControlButton(20, 386, 1056, 100, '', '', '')
|
|
||||||
self.addControl(self.critica_butt)
|
|
||||||
|
|
||||||
xbmc.sleep(200)
|
xbmc.sleep(200)
|
||||||
self.mas_pelis = 8
|
self.mas_pelis = 8
|
||||||
@@ -406,6 +412,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
self.btn_left = xbmcgui.ControlButton(90, 490, 70, 29, '', "http://s6.postimg.org/i3pnobu6p/redarrow.png",
|
self.btn_left = xbmcgui.ControlButton(90, 490, 70, 29, '', "http://s6.postimg.org/i3pnobu6p/redarrow.png",
|
||||||
"http://s6.postimg.org/i3pnobu6p/redarrow.png")
|
"http://s6.postimg.org/i3pnobu6p/redarrow.png")
|
||||||
self.addControl(self.btn_left)
|
self.addControl(self.btn_left)
|
||||||
|
if set_animation:
|
||||||
self.btn_left.setAnimations(
|
self.btn_left.setAnimations(
|
||||||
[('conditional', 'effect=zoom start=-100 end=100 delay=5000 time=2000 condition=true tween=bounce',), (
|
[('conditional', 'effect=zoom start=-100 end=100 delay=5000 time=2000 condition=true tween=bounce',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
@@ -431,6 +438,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
if len(self.recomendaciones) != 0:
|
if len(self.recomendaciones) != 0:
|
||||||
self.tpi = xbmcgui.ControlImage(200, 490, 100, 41, 'http://imgur.com/GNP2QcB.png')
|
self.tpi = xbmcgui.ControlImage(200, 490, 100, 41, 'http://imgur.com/GNP2QcB.png')
|
||||||
self.addControl(self.tpi)
|
self.addControl(self.tpi)
|
||||||
|
if set_animation:
|
||||||
self.tpi.setAnimations([('conditional',
|
self.tpi.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
@@ -439,6 +447,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
if count < 8:
|
if count < 8:
|
||||||
self.addControl(self.image)
|
self.addControl(self.image)
|
||||||
|
if set_animation:
|
||||||
self.image.setAnimations([('conditional',
|
self.image.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
@@ -448,12 +457,14 @@ class main(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
self.addControl(fadelabel)
|
self.addControl(fadelabel)
|
||||||
fadelabel.addLabel(peli)
|
fadelabel.addLabel(peli)
|
||||||
|
if set_animation:
|
||||||
fadelabel.setAnimations([('conditional',
|
fadelabel.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
|
|
||||||
self.addControl(self.neon)
|
self.addControl(self.neon)
|
||||||
self.neon.setVisibleCondition('[Control.HasFocus(' + str(self.image.getId()) + ')]')
|
self.neon.setVisibleCondition('[Control.HasFocus(' + str(self.image.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
self.neon.setAnimations([('conditional',
|
self.neon.setAnimations([('conditional',
|
||||||
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
||||||
self.image.getId()) + ')',),
|
self.image.getId()) + ')',),
|
||||||
@@ -472,6 +483,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
"http://s6.postimg.org/j4uhr70k1/greenarrow.png",
|
"http://s6.postimg.org/j4uhr70k1/greenarrow.png",
|
||||||
"http://s6.postimg.org/j4uhr70k1/greenarrow.png")
|
"http://s6.postimg.org/j4uhr70k1/greenarrow.png")
|
||||||
self.addControl(self.btn_right)
|
self.addControl(self.btn_right)
|
||||||
|
if set_animation:
|
||||||
self.btn_right.setAnimations(
|
self.btn_right.setAnimations(
|
||||||
[('conditional', 'effect=slide start=-3000 end=0 delay=6200 time=2000 condition=true tween=bounce',), (
|
[('conditional', 'effect=slide start=-3000 end=0 delay=6200 time=2000 condition=true tween=bounce',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
@@ -480,16 +492,10 @@ class main(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
self.botones.append(self.btn_right)
|
self.botones.append(self.btn_right)
|
||||||
xbmc.sleep(200)
|
xbmc.sleep(200)
|
||||||
|
self.global_search = xbmcgui.ControlButton(1080, 475, 55, 55, '', noFocusTexture='https://s17.postimg.org/u9vfbj1sv/thumb_search_no.png',
|
||||||
self.lupam = xbmcgui.ControlImage(820, 320, 60, 60, "http://imgur.com/VDdB0Uw.png")
|
focusTexture='https://s17.postimg.org/gc289lvvz/thumb_search.png')
|
||||||
self.addControl(self.lupam)
|
|
||||||
self.lupam.setAnimations(
|
|
||||||
[('conditional', 'effect=slide start=1500 delay=7020 time=200 tween=elastic condition=true',),
|
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
|
||||||
|
|
||||||
self.global_search = xbmcgui.ControlButton(916, 320, 140, 53, '', 'http://imgur.com/hoOvpHV.png',
|
|
||||||
'http://imgur.com/hoOvpHV.png')
|
|
||||||
self.addControl(self.global_search)
|
self.addControl(self.global_search)
|
||||||
|
if set_animation:
|
||||||
self.global_search.setAnimations(
|
self.global_search.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,700 delay=6200 time=900 condition=true',),
|
[('conditional', 'effect=slide start=0,700 delay=6200 time=900 condition=true',),
|
||||||
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',),
|
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',),
|
||||||
@@ -510,6 +516,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
self.item.thumb_busqueda)
|
self.item.thumb_busqueda)
|
||||||
self.addControl(self.buscar)
|
self.addControl(self.buscar)
|
||||||
self.botones.insert(4, self.buscar)
|
self.botones.insert(4, self.buscar)
|
||||||
|
if set_animation:
|
||||||
self.buscar.setAnimations(
|
self.buscar.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,700 delay=6200 time=900 condition=true',),
|
[('conditional', 'effect=slide start=0,700 delay=6200 time=900 condition=true',),
|
||||||
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',),
|
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',),
|
||||||
@@ -619,12 +626,14 @@ class main(xbmcgui.WindowDialog):
|
|||||||
self.buscar.setVisible(False)
|
self.buscar.setVisible(False)
|
||||||
self.notfound = xbmcgui.ControlImage(800, 520, 300, 120, "http://imgur.com/V1xs9pT.png")
|
self.notfound = xbmcgui.ControlImage(800, 520, 300, 120, "http://imgur.com/V1xs9pT.png")
|
||||||
self.addControl(self.notfound)
|
self.addControl(self.notfound)
|
||||||
|
if set_animation:
|
||||||
self.notfound.setAnimations(
|
self.notfound.setAnimations(
|
||||||
[('conditional', 'effect=zoom center=auto start=500% end=0% time=2000 condition=true',)])
|
[('conditional', 'effect=zoom center=auto start=500% end=0% time=2000 condition=true',)])
|
||||||
else:
|
else:
|
||||||
self.global_search.setVisible(False)
|
self.global_search.setVisible(False)
|
||||||
self.notfound = xbmcgui.ControlImage(800, 520, 300, 120, "http://imgur.com/V1xs9pT.png")
|
self.notfound = xbmcgui.ControlImage(800, 520, 300, 120, "http://imgur.com/V1xs9pT.png")
|
||||||
self.addControl(self.notfound)
|
self.addControl(self.notfound)
|
||||||
|
if set_animation:
|
||||||
self.notfound.setAnimations(
|
self.notfound.setAnimations(
|
||||||
[('conditional', 'effect=zoom center=auto start=500% end=0% time=2000 condition=true',)])
|
[('conditional', 'effect=zoom center=auto start=500% end=0% time=2000 condition=true',)])
|
||||||
elif control == self.btn_right:
|
elif control == self.btn_right:
|
||||||
@@ -637,6 +646,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
count += 1
|
count += 1
|
||||||
elif i > self.mas_pelis and count < 16:
|
elif i > self.mas_pelis and count < 16:
|
||||||
self.addControl(afoto)
|
self.addControl(afoto)
|
||||||
|
if set_animation:
|
||||||
afoto.setAnimations([('conditional',
|
afoto.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 time=900 delay=200 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 time=900 delay=200 tween=elastic condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
@@ -646,12 +656,14 @@ class main(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
self.addControl(fadelabel)
|
self.addControl(fadelabel)
|
||||||
fadelabel.addLabel(peli)
|
fadelabel.addLabel(peli)
|
||||||
|
if set_animation:
|
||||||
fadelabel.setAnimations(
|
fadelabel.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
|
|
||||||
self.addControl(neon)
|
self.addControl(neon)
|
||||||
neon.setVisibleCondition('[Control.HasFocus(' + str(afoto.getId()) + ')]')
|
neon.setVisibleCondition('[Control.HasFocus(' + str(afoto.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
neon.setAnimations([('conditional',
|
neon.setAnimations([('conditional',
|
||||||
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
||||||
afoto.getId()) + ')',),
|
afoto.getId()) + ')',),
|
||||||
@@ -692,6 +704,7 @@ class main(xbmcgui.WindowDialog):
|
|||||||
resta2 = 8
|
resta2 = 8
|
||||||
if i > len_pelis - resta and count < 8:
|
if i > len_pelis - resta and count < 8:
|
||||||
self.addControl(afoto)
|
self.addControl(afoto)
|
||||||
|
if set_animation:
|
||||||
afoto.setAnimations(
|
afoto.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
||||||
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',),
|
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',),
|
||||||
@@ -699,12 +712,14 @@ class main(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
self.addControl(fadelabel)
|
self.addControl(fadelabel)
|
||||||
fadelabel.addLabel(peli)
|
fadelabel.addLabel(peli)
|
||||||
|
if set_animation:
|
||||||
fadelabel.setAnimations(
|
fadelabel.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
|
|
||||||
self.addControl(neon)
|
self.addControl(neon)
|
||||||
neon.setVisibleCondition('[Control.HasFocus(' + str(afoto.getId()) + ')]')
|
neon.setVisibleCondition('[Control.HasFocus(' + str(afoto.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
neon.setAnimations([('conditional',
|
neon.setAnimations([('conditional',
|
||||||
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
||||||
afoto.getId()) + ')',),
|
afoto.getId()) + ')',),
|
||||||
@@ -725,8 +740,8 @@ class main(xbmcgui.WindowDialog):
|
|||||||
else:
|
else:
|
||||||
for boton, peli, id, poster2 in self.idps:
|
for boton, peli, id, poster2 in self.idps:
|
||||||
if control == boton:
|
if control == boton:
|
||||||
dialog = platformtools.dialog_progress("[COLOR darkturquoise][B]Cargando nueva info[/B][/COLOR]",
|
dialog = platformtools.dialog_progress("Cargando nueva info",
|
||||||
"[COLOR lightyellow]Buscando en [/COLOR][COLOR springgreen][B]Tmdb.......[/B][/COLOR]")
|
"Buscando en Tmdb.......")
|
||||||
tipo = self.item.contentType
|
tipo = self.item.contentType
|
||||||
if tipo != "movie":
|
if tipo != "movie":
|
||||||
tipo = "tv"
|
tipo = "tv"
|
||||||
@@ -753,7 +768,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
if not self.infoLabels.get("rating"):
|
if not self.infoLabels.get("rating"):
|
||||||
rating = "[COLOR crimson][B]Sin puntuación[/B][/COLOR]"
|
rating = "[COLOR crimson][B]N/A[/B][/COLOR]"
|
||||||
elif self.infoLabels["rating"] >= 5 and self.infoLabels["rating"] < 8:
|
elif self.infoLabels["rating"] >= 5 and self.infoLabels["rating"] < 8:
|
||||||
rating = "[COLOR springgreen][B]%s[/B][/COLOR]" % self.infoLabels["rating"]
|
rating = "[COLOR springgreen][B]%s[/B][/COLOR]" % self.infoLabels["rating"]
|
||||||
elif self.infoLabels["rating"] >= 8:
|
elif self.infoLabels["rating"] >= 8:
|
||||||
@@ -790,26 +805,30 @@ class related(xbmcgui.WindowDialog):
|
|||||||
logger.error(traceback.format_exc())
|
logger.error(traceback.format_exc())
|
||||||
|
|
||||||
self.setCoordinateResolution(2)
|
self.setCoordinateResolution(2)
|
||||||
self.background = xbmcgui.ControlImage(78, 50, 1053, 634, self.infoLabels.get("fanart",
|
self.background = xbmcgui.ControlImage(178, 50, 1053, 634, self.infoLabels.get("fanart",
|
||||||
"http://s6.postimg.org/fflvear2p/nofanart.png"))
|
"http://s6.postimg.org/fflvear2p/nofanart.png"))
|
||||||
self.addControl(self.background)
|
self.addControl(self.background)
|
||||||
|
if set_animation:
|
||||||
self.background.setAnimations(
|
self.background.setAnimations(
|
||||||
[('conditional', 'effect=slide start=1000% end=100% delay=670 time=2500 condition=true',),
|
[('conditional', 'effect=slide start=1000% end=0% delay=670 time=2500 condition=true',),
|
||||||
('WindowClose', 'effect=slide end=-2000% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=-2000% time=1000 condition=true',)])
|
||||||
|
|
||||||
self.shadow = xbmcgui.ControlImage(75, 43, 1061, 649, 'http://s6.postimg.org/k05dw264x/marc_fanart.png')
|
self.shadow = xbmcgui.ControlImage(175, 43, 1061, 649, 'http://s6.postimg.org/k05dw264x/marc_fanart.png')
|
||||||
self.addControl(self.shadow)
|
self.addControl(self.shadow)
|
||||||
|
if set_animation:
|
||||||
self.shadow.setAnimations(
|
self.shadow.setAnimations(
|
||||||
[('conditional', 'effect=slide start=1000% end=100% delay=660 time=2500 condition=true',),
|
[('conditional', 'effect=slide start=1000% end=0% delay=660 time=2500 condition=true',),
|
||||||
('WindowClose', 'effect=slide end=-2000% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=-2000% time=1000 condition=true',)])
|
||||||
self.star = xbmcgui.ControlImage(955, 55, 67, 67, "http://s6.postimg.org/jzn0d3clt/star.png")
|
self.star = xbmcgui.ControlImage(955, 55, 67, 67, "http://s6.postimg.org/jzn0d3clt/star.png")
|
||||||
self.addControl(self.star)
|
self.addControl(self.star)
|
||||||
|
if set_animation:
|
||||||
self.star.setAnimations([('conditional', 'effect=slide delay=6000 start=2000 time=800 condition=true',),
|
self.star.setAnimations([('conditional', 'effect=slide delay=6000 start=2000 time=800 condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
||||||
|
|
||||||
self.puntuacion_peli = xbmcgui.ControlTextBox(977, 78, 35, 35, self.fonts["12"])
|
self.puntuacion_peli = xbmcgui.ControlTextBox(977, 78, 35, 35, self.fonts["12"])
|
||||||
self.addControl(self.puntuacion_peli)
|
self.addControl(self.puntuacion_peli)
|
||||||
self.puntuacion_peli.setText(rating)
|
self.puntuacion_peli.setText(rating)
|
||||||
|
if set_animation:
|
||||||
self.puntuacion_peli.setAnimations(
|
self.puntuacion_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide delay=6000 start=2000 time=800 condition=true',),
|
[('conditional', 'effect=slide delay=6000 start=2000 time=800 condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
||||||
@@ -824,6 +843,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
xbmc.executebuiltin(
|
xbmc.executebuiltin(
|
||||||
'Notification([COLOR red][B]Actualiza Kodi a su última versión[/B][/COLOR], [COLOR skyblue]para mejor info[/COLOR],8000, "http://i.imgur.com/mHgwcn3.png")')
|
'Notification([COLOR red][B]Actualiza Kodi a su última versión[/B][/COLOR], [COLOR skyblue]para mejor info[/COLOR],8000, "http://i.imgur.com/mHgwcn3.png")')
|
||||||
self.info_peli.setText(self.info)
|
self.info_peli.setText(self.info)
|
||||||
|
if set_animation:
|
||||||
self.info_peli.setAnimations(
|
self.info_peli.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0% end=100% delay=3600 time=800 condition=true',), (
|
[('conditional', 'effect=fade start=0% end=100% delay=3600 time=800 condition=true',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
@@ -832,6 +852,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
self.poster_peli = xbmcgui.ControlImage(210, 90, 230, 260, self.infoLabels.get("thumbnail", ""))
|
self.poster_peli = xbmcgui.ControlImage(210, 90, 230, 260, self.infoLabels.get("thumbnail", ""))
|
||||||
self.addControl(self.poster_peli)
|
self.addControl(self.poster_peli)
|
||||||
|
if set_animation:
|
||||||
self.poster_peli.setAnimations([('conditional',
|
self.poster_peli.setAnimations([('conditional',
|
||||||
'effect=zoom center=auto start=0% end=100% delay=2000 time=3000 tween=bounce condition=true',),
|
'effect=zoom center=auto start=0% end=100% delay=2000 time=3000 tween=bounce condition=true',),
|
||||||
('WindowClose', 'effect=zoom end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=zoom end=0% time=1000 condition=true',)])
|
||||||
@@ -852,6 +873,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.tagline_peli = xbmcgui.ControlFadeLabel(290, 55, 490, 260)
|
self.tagline_peli = xbmcgui.ControlFadeLabel(290, 55, 490, 260)
|
||||||
self.addControl(self.tagline_peli)
|
self.addControl(self.tagline_peli)
|
||||||
self.tagline_peli.addLabel(self.infoLabels["tagline"])
|
self.tagline_peli.addLabel(self.infoLabels["tagline"])
|
||||||
|
if set_animation:
|
||||||
self.tagline_peli.setAnimations(
|
self.tagline_peli.setAnimations(
|
||||||
[('conditional', 'effect=fade center=auto start=0% end=100% delay=3800 time=2000 condition=true',),
|
[('conditional', 'effect=fade center=auto start=0% end=100% delay=3800 time=2000 condition=true',),
|
||||||
('WindowClose', 'effect=fade end=0% time=500 condition=true',)])
|
('WindowClose', 'effect=fade end=0% time=500 condition=true',)])
|
||||||
@@ -861,6 +883,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.addControl(self.title_peli)
|
self.addControl(self.title_peli)
|
||||||
self.title_peli.addLabel(
|
self.title_peli.addLabel(
|
||||||
"[COLOR yellow][B]%s[/B][/COLOR]" % self.infoLabels.get("title", self.infoLabels.get("originaltitle")))
|
"[COLOR yellow][B]%s[/B][/COLOR]" % self.infoLabels.get("title", self.infoLabels.get("originaltitle")))
|
||||||
|
if set_animation:
|
||||||
self.title_peli.setAnimations(
|
self.title_peli.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0% end=100% delay=2500 time=5000 condition=true',),
|
[('conditional', 'effect=fade start=0% end=100% delay=2500 time=5000 condition=true',),
|
||||||
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
||||||
@@ -868,6 +891,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.gt_peli = xbmcgui.ControlTextBox(210, 385, 1100, 60, self.fonts["12"])
|
self.gt_peli = xbmcgui.ControlTextBox(210, 385, 1100, 60, self.fonts["12"])
|
||||||
self.addControl(self.gt_peli)
|
self.addControl(self.gt_peli)
|
||||||
self.gt_peli.setText("[COLOR limegreen][B]Género: [/B][/COLOR]")
|
self.gt_peli.setText("[COLOR limegreen][B]Género: [/B][/COLOR]")
|
||||||
|
if set_animation:
|
||||||
self.gt_peli.setAnimations(
|
self.gt_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-7000 delay=5750 time=700 condition=true tween=circle easing=in',),
|
[('conditional', 'effect=slide start=0,-7000 delay=5750 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% time=700 condition=true',)])
|
||||||
@@ -875,6 +899,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.genero_peli = xbmcgui.ControlFadeLabel(271, 385, 400, 60, self.fonts["12"])
|
self.genero_peli = xbmcgui.ControlFadeLabel(271, 385, 400, 60, self.fonts["12"])
|
||||||
self.addControl(self.genero_peli)
|
self.addControl(self.genero_peli)
|
||||||
self.genero_peli.addLabel(" [COLOR yellowgreen][B]%s[/B][/COLOR]" % self.infoLabels.get("genre", "---"))
|
self.genero_peli.addLabel(" [COLOR yellowgreen][B]%s[/B][/COLOR]" % self.infoLabels.get("genre", "---"))
|
||||||
|
if set_animation:
|
||||||
self.genero_peli.setAnimations(
|
self.genero_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-7000 delay=5750 time=700 condition=true tween=circle easing=in',),
|
[('conditional', 'effect=slide start=0,-7000 delay=5750 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% time=700 condition=true',)])
|
||||||
@@ -882,13 +907,15 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.pt_peli = xbmcgui.ControlTextBox(210, 410, 307, 60, self.fonts["12"])
|
self.pt_peli = xbmcgui.ControlTextBox(210, 410, 307, 60, self.fonts["12"])
|
||||||
self.addControl(self.pt_peli)
|
self.addControl(self.pt_peli)
|
||||||
self.pt_peli.setText("[COLOR limegreen][B]Productora: [/B][/COLOR]")
|
self.pt_peli.setText("[COLOR limegreen][B]Productora: [/B][/COLOR]")
|
||||||
|
if set_animation:
|
||||||
self.pt_peli.setAnimations(
|
self.pt_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-7000 delay=5700 time=700 condition=true tween=circle easing=in',),
|
[('conditional', 'effect=slide start=0,-7000 delay=5700 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% delay=100 time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% delay=100 time=700 condition=true',)])
|
||||||
|
|
||||||
self.productora_peli = xbmcgui.ControlFadeLabel(310, 410, 400, 60, self.fonts["12"])
|
self.productora_peli = xbmcgui.ControlFadeLabel(320, 410, 400, 60, self.fonts["12"])
|
||||||
self.addControl(self.productora_peli)
|
self.addControl(self.productora_peli)
|
||||||
self.productora_peli.addLabel("[COLOR yellowgreen][B]%s[/B][/COLOR]" % self.infoLabels.get("studio", "---"))
|
self.productora_peli.addLabel("[COLOR yellowgreen][B]%s[/B][/COLOR]" % self.infoLabels.get("studio", "---"))
|
||||||
|
if set_animation:
|
||||||
self.productora_peli.setAnimations(
|
self.productora_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-700 delay=5700 time=700 condition=true tween=circle easing=in',),
|
[('conditional', 'effect=slide start=0,-700 delay=5700 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% delay=100 time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% delay=100 time=700 condition=true',)])
|
||||||
@@ -896,6 +923,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.paist_peli = xbmcgui.ControlTextBox(210, 435, 400, 60, self.fonts["12"])
|
self.paist_peli = xbmcgui.ControlTextBox(210, 435, 400, 60, self.fonts["12"])
|
||||||
self.addControl(self.paist_peli)
|
self.addControl(self.paist_peli)
|
||||||
self.paist_peli.setText("[COLOR limegreen][B]País: [/B][/COLOR]")
|
self.paist_peli.setText("[COLOR limegreen][B]País: [/B][/COLOR]")
|
||||||
|
if set_animation:
|
||||||
self.paist_peli.setAnimations(
|
self.paist_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-700 delay=5650 time=700 condition=true tween=circle easing=in',),
|
[('conditional', 'effect=slide start=0,-700 delay=5650 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% delay=200 time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% delay=200 time=700 condition=true',)])
|
||||||
@@ -903,6 +931,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.pais_peli = xbmcgui.ControlFadeLabel(247, 435, 400, 60, self.fonts["12"])
|
self.pais_peli = xbmcgui.ControlFadeLabel(247, 435, 400, 60, self.fonts["12"])
|
||||||
self.addControl(self.pais_peli)
|
self.addControl(self.pais_peli)
|
||||||
self.pais_peli.addLabel(" [COLOR yellowgreen][B]%s[/B][/COLOR]" % self.infoLabels.get("country", "---"))
|
self.pais_peli.addLabel(" [COLOR yellowgreen][B]%s[/B][/COLOR]" % self.infoLabels.get("country", "---"))
|
||||||
|
if set_animation:
|
||||||
self.pais_peli.setAnimations(
|
self.pais_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-700 delay=5650 time=700 condition=true tween=circle easing=in',),
|
[('conditional', 'effect=slide start=0,-700 delay=5650 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% delay=200 time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% delay=200 time=700 condition=true',)])
|
||||||
@@ -910,16 +939,18 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.ft_peli = xbmcgui.ControlTextBox(210, 460, 1100, 60, self.fonts["12"])
|
self.ft_peli = xbmcgui.ControlTextBox(210, 460, 1100, 60, self.fonts["12"])
|
||||||
self.addControl(self.ft_peli)
|
self.addControl(self.ft_peli)
|
||||||
self.ft_peli.setText("[COLOR limegreen][B]Estreno: [/B][/COLOR]")
|
self.ft_peli.setText("[COLOR limegreen][B]Estreno: [/B][/COLOR]")
|
||||||
|
if set_animation:
|
||||||
self.ft_peli.setAnimations(
|
self.ft_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
|
[('conditional', 'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% delay=300 time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% delay=300 time=700 condition=true',)])
|
||||||
|
|
||||||
self.fecha_peli = xbmcgui.ControlFadeLabel(273, 460, 400, 60, self.fonts["12"])
|
self.fecha_peli = xbmcgui.ControlFadeLabel(280, 460, 400, 60, self.fonts["12"])
|
||||||
self.addControl(self.fecha_peli)
|
self.addControl(self.fecha_peli)
|
||||||
release_date = " [COLOR yellowgreen][B]%s[/B][/COLOR]" % self.infoLabels.get("release_date",
|
release_date = " [COLOR yellowgreen][B]%s[/B][/COLOR]" % self.infoLabels.get("release_date",
|
||||||
self.infoLabels.get("premiered",
|
self.infoLabels.get("premiered",
|
||||||
"---"))
|
"---"))
|
||||||
self.fecha_peli.addLabel(release_date)
|
self.fecha_peli.addLabel(release_date)
|
||||||
|
if set_animation:
|
||||||
self.fecha_peli.setAnimations(
|
self.fecha_peli.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
|
[('conditional', 'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% delay=300 time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% delay=300 time=700 condition=true',)])
|
||||||
@@ -928,6 +959,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.seasons_txt = xbmcgui.ControlTextBox(210, 485, 200, 60, self.fonts["12"])
|
self.seasons_txt = xbmcgui.ControlTextBox(210, 485, 200, 60, self.fonts["12"])
|
||||||
self.addControl(self.seasons_txt)
|
self.addControl(self.seasons_txt)
|
||||||
self.seasons_txt.setText("[COLOR limegreen][B]Temporadas/Episodios: [/B][/COLOR]")
|
self.seasons_txt.setText("[COLOR limegreen][B]Temporadas/Episodios: [/B][/COLOR]")
|
||||||
|
if set_animation:
|
||||||
self.seasons_txt.setAnimations([('conditional',
|
self.seasons_txt.setAnimations([('conditional',
|
||||||
'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
|
'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
|
||||||
('WindowClose', 'effect=slide end=0,-7000% time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-7000% time=700 condition=true',)])
|
||||||
@@ -937,6 +969,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
temporadas = " [COLOR yellowgreen][B]%s/%s[/B][/COLOR]" % (
|
temporadas = " [COLOR yellowgreen][B]%s/%s[/B][/COLOR]" % (
|
||||||
self.infoLabels.get("number_of_seasons"), self.infoLabels.get("number_of_episodes", "---"))
|
self.infoLabels.get("number_of_seasons"), self.infoLabels.get("number_of_episodes", "---"))
|
||||||
self.seasons.addLabel(temporadas)
|
self.seasons.addLabel(temporadas)
|
||||||
|
if set_animation:
|
||||||
self.seasons.setAnimations([('conditional',
|
self.seasons.setAnimations([('conditional',
|
||||||
'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
|
'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
|
||||||
(
|
(
|
||||||
@@ -953,19 +986,15 @@ class related(xbmcgui.WindowDialog):
|
|||||||
image = "http://i.imgur.com/xQRgLkO.jpg"
|
image = "http://i.imgur.com/xQRgLkO.jpg"
|
||||||
self.actor = xbmcgui.ControlImage(215 + i, 529, 63, 63, image)
|
self.actor = xbmcgui.ControlImage(215 + i, 529, 63, 63, image)
|
||||||
self.addControl(self.actor)
|
self.addControl(self.actor)
|
||||||
|
if set_animation:
|
||||||
self.actor.setAnimations([('conditional',
|
self.actor.setAnimations([('conditional',
|
||||||
'effect=zoom center=auto start=0% end=100% delay=5800 time=1500 tween=bounce condition=true ',),
|
'effect=zoom center=auto start=0% end=100% delay=5800 time=1500 tween=bounce condition=true ',),
|
||||||
('WindowClose',
|
('WindowClose',
|
||||||
'effect=zoom end=0 center=auto delay=100+i time=700 condition=true',)])
|
'effect=zoom end=0 center=auto delay=100+i time=700 condition=true',)])
|
||||||
self.circle = xbmcgui.ControlImage(195 + i, 511, 102, 103, "http://s6.postimg.org/u1jewuxzl/act_marco.png")
|
|
||||||
self.addControl(self.circle)
|
|
||||||
self.circle.setAnimations([('conditional',
|
|
||||||
'effect=zoom center=auto start=0 end=100 delay=5800 time=1500 tween=bounce condition=true ',),
|
|
||||||
('WindowClose',
|
|
||||||
'effect=zoom end=0 center=auto delay=100+i time=700 condition=true',)])
|
|
||||||
self.nombre_actor = xbmcgui.ControlFadeLabel(206 + i, 605, 102, 60, self.fonts["12"])
|
self.nombre_actor = xbmcgui.ControlFadeLabel(206 + i, 605, 102, 60, self.fonts["12"])
|
||||||
self.addControl(self.nombre_actor)
|
self.addControl(self.nombre_actor)
|
||||||
self.nombre_actor.addLabel("[COLOR floralwhite][B]%s[/B][/COLOR]" % actor.get("name"))
|
self.nombre_actor.addLabel("[COLOR floralwhite][B]%s[/B][/COLOR]" % actor.get("name"))
|
||||||
|
if set_animation:
|
||||||
self.nombre_actor.setAnimations(
|
self.nombre_actor.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0 end=100 delay=5800 time=1500 tween=bounce condition=true ',),
|
[('conditional', 'effect=fade start=0 end=100 delay=5800 time=1500 tween=bounce condition=true ',),
|
||||||
('WindowClose', 'effect=fade end=0 center=auto time=700 condition=true',)])
|
('WindowClose', 'effect=fade end=0 center=auto time=700 condition=true',)])
|
||||||
@@ -993,21 +1022,16 @@ class related(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
self.td = xbmcgui.ControlImage(880 + i, 390, 63, 63, image)
|
self.td = xbmcgui.ControlImage(880 + i, 390, 63, 63, image)
|
||||||
self.addControl(self.td)
|
self.addControl(self.td)
|
||||||
|
if set_animation:
|
||||||
self.td.setAnimations(
|
self.td.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0% end=100% delay=4200 time=200 condition=true',),
|
[('conditional', 'effect=fade start=0% end=100% delay=4200 time=200 condition=true',),
|
||||||
('conditional', 'effect=slide start=-150,-60 delay=4200 time=450 condition=true tween=elastic',),
|
('conditional', 'effect=slide start=-150,-60 delay=4200 time=450 condition=true tween=elastic',),
|
||||||
('WindowClose', 'effect=slide end=-2000 center=auto time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=-2000 center=auto time=700 condition=true',)])
|
||||||
|
|
||||||
self.circle = xbmcgui.ControlImage(860 + i, 372, 102, 103,
|
|
||||||
"http://s6.postimg.org/u1jewuxzl/act_marco.png")
|
|
||||||
self.addControl(self.circle)
|
|
||||||
self.circle.setAnimations(
|
|
||||||
[('conditional', 'effect=fade start=0% end=100% delay=4200 time=200 condition=true',),
|
|
||||||
('conditional', 'effect=slide start=-200,-200 delay=4200 time=450 condition=true tween=elastic',),
|
|
||||||
('WindowClose', 'effect=slide end=-2000 center=auto time=700 condition=true',)])
|
|
||||||
self.nd = xbmcgui.ControlFadeLabel(860 + i, 464, 105, 60, self.fonts["12"])
|
self.nd = xbmcgui.ControlFadeLabel(860 + i, 464, 105, 60, self.fonts["12"])
|
||||||
self.addControl(self.nd)
|
self.addControl(self.nd)
|
||||||
self.nd.addLabel("[COLOR floralwhite][B]%s[/B][/COLOR]" % crew["name"])
|
self.nd.addLabel("[COLOR floralwhite][B]%s[/B][/COLOR]" % crew["name"])
|
||||||
|
if set_animation:
|
||||||
self.nd.setAnimations(
|
self.nd.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0 end=100 delay=4200 time=1500 tween=bounce condition=true',),
|
[('conditional', 'effect=fade start=0 end=100 delay=4200 time=1500 tween=bounce condition=true',),
|
||||||
('WindowClose', 'effect=slide end=2000 center=auto time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=2000 center=auto time=700 condition=true',)])
|
||||||
@@ -1017,6 +1041,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
if self.nd:
|
if self.nd:
|
||||||
self.img_dir = xbmcgui.ControlImage(740, 380, 100, 90, "http://s6.postimg.org/k8kl30pe9/director.png")
|
self.img_dir = xbmcgui.ControlImage(740, 380, 100, 90, "http://s6.postimg.org/k8kl30pe9/director.png")
|
||||||
self.addControl(self.img_dir)
|
self.addControl(self.img_dir)
|
||||||
|
if set_animation:
|
||||||
self.img_dir.setAnimations(
|
self.img_dir.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0 end=100 delay=3200 time=700 condition=true ',),
|
[('conditional', 'effect=fade start=0 end=100 delay=3200 time=700 condition=true ',),
|
||||||
('WindowClose', 'effect=rotate end=-2000 time=700 condition=true',)])
|
('WindowClose', 'effect=rotate end=-2000 time=700 condition=true',)])
|
||||||
@@ -1027,6 +1052,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.trailer_r = xbmcgui.ControlButton(790, 62, 55, 55, '', 'http://i.imgur.com/cGI2fxC.png',
|
self.trailer_r = xbmcgui.ControlButton(790, 62, 55, 55, '', 'http://i.imgur.com/cGI2fxC.png',
|
||||||
'http://i.imgur.com/cGI2fxC.png')
|
'http://i.imgur.com/cGI2fxC.png')
|
||||||
self.addControl(self.trailer_r)
|
self.addControl(self.trailer_r)
|
||||||
|
if set_animation:
|
||||||
self.trailer_r.setAnimations([('conditional', 'effect=slide start=-2000 delay=4000 time=2500 condition=true',),
|
self.trailer_r.setAnimations([('conditional', 'effect=slide start=-2000 delay=4000 time=2500 condition=true',),
|
||||||
('conditional',
|
('conditional',
|
||||||
'effect=rotate delay=4000 center=auto start=0% end=360% time=2500 condition=true ',),
|
'effect=rotate delay=4000 center=auto start=0% end=360% time=2500 condition=true ',),
|
||||||
@@ -1038,9 +1064,10 @@ class related(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=2000 time=700 condition=true',)])
|
('WindowClose', 'effect=slide end=2000 time=700 condition=true',)])
|
||||||
self.botones.append(self.trailer_r)
|
self.botones.append(self.trailer_r)
|
||||||
|
|
||||||
self.plusinfo = xbmcgui.ControlButton(1090, 20, 100, 100, '', 'http://i.imgur.com/1w5CFCL.png',
|
self.plusinfo = xbmcgui.ControlButton(1090, 50, 100, 100, '', 'http://i.imgur.com/1w5CFCL.png',
|
||||||
'http://i.imgur.com/1w5CFCL.png')
|
'http://i.imgur.com/1w5CFCL.png')
|
||||||
self.addControl(self.plusinfo)
|
self.addControl(self.plusinfo)
|
||||||
|
if set_animation:
|
||||||
self.plusinfo.setAnimations(
|
self.plusinfo.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=elastic easing=out',),
|
[('conditional', 'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=elastic easing=out',),
|
||||||
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), ('conditional',
|
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), ('conditional',
|
||||||
@@ -1051,6 +1078,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
self.lupam = xbmcgui.ControlImage(950, 580, 60, 60, "http://imgur.com/VDdB0Uw.png")
|
self.lupam = xbmcgui.ControlImage(950, 580, 60, 60, "http://imgur.com/VDdB0Uw.png")
|
||||||
self.addControl(self.lupam)
|
self.addControl(self.lupam)
|
||||||
|
if set_animation:
|
||||||
self.lupam.setAnimations(
|
self.lupam.setAnimations(
|
||||||
[('conditional', 'effect=slide start=1500 delay=7020 time=200 tween=elastic condition=true',),
|
[('conditional', 'effect=slide start=1500 delay=7020 time=200 tween=elastic condition=true',),
|
||||||
('WindowClose', 'effect=zoom end=0 center=auto time=700 condition=true',)])
|
('WindowClose', 'effect=zoom end=0 center=auto time=700 condition=true',)])
|
||||||
@@ -1069,6 +1097,7 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.item.thumb_busqueda)
|
self.item.thumb_busqueda)
|
||||||
self.addControl(self.buscar)
|
self.addControl(self.buscar)
|
||||||
self.botones.append(self.buscar)
|
self.botones.append(self.buscar)
|
||||||
|
if set_animation:
|
||||||
self.buscar.setAnimations([('conditional', 'effect=slide start=0,700 delay=6000 time=200 condition=true',),
|
self.buscar.setAnimations([('conditional', 'effect=slide start=0,700 delay=6000 time=200 condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), (
|
'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), (
|
||||||
@@ -1076,10 +1105,11 @@ class related(xbmcgui.WindowDialog):
|
|||||||
'effect=zoom center=auto start=100% end=120% reversible=false tween=bounce time=1000 loop=true condition=Control.HasFocus(' + str(
|
'effect=zoom center=auto start=100% end=120% reversible=false tween=bounce time=1000 loop=true condition=Control.HasFocus(' + str(
|
||||||
self.buscar.getId()) + ')'),
|
self.buscar.getId()) + ')'),
|
||||||
('WindowClose', 'effect=rotatey end=-300 time=1500 condition=true',)])
|
('WindowClose', 'effect=rotatey end=-300 time=1500 condition=true',)])
|
||||||
self.global_search = xbmcgui.ControlButton(1046, 620, 140, 53, '', 'http://imgur.com/hoOvpHV.png',
|
self.global_search = xbmcgui.ControlButton(1046, 620, 140, 53, '', 'https://s33.postimg.org/3k39ww24f/logo-alfa.png',
|
||||||
'http://imgur.com/hoOvpHV.png')
|
'https://s33.postimg.org/3k39ww24f/logo-alfa.png')
|
||||||
self.addControl(self.global_search)
|
self.addControl(self.global_search)
|
||||||
self.botones.append(self.global_search)
|
self.botones.append(self.global_search)
|
||||||
|
if set_animation:
|
||||||
self.global_search.setAnimations(
|
self.global_search.setAnimations(
|
||||||
[('conditional', 'effect=slide start=0,700 delay=6090 time=200 condition=true',),
|
[('conditional', 'effect=slide start=0,700 delay=6090 time=200 condition=true',),
|
||||||
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), ('conditional',
|
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',), ('conditional',
|
||||||
@@ -1158,12 +1188,14 @@ class related(xbmcgui.WindowDialog):
|
|||||||
self.removeControl(self.buscar)
|
self.removeControl(self.buscar)
|
||||||
self.notfound = xbmcgui.ControlImage(800, 520, 300, 120, "http://imgur.com/V1xs9pT.png")
|
self.notfound = xbmcgui.ControlImage(800, 520, 300, 120, "http://imgur.com/V1xs9pT.png")
|
||||||
self.addControl(self.notfound)
|
self.addControl(self.notfound)
|
||||||
|
if set_animation:
|
||||||
self.notfound.setAnimations(
|
self.notfound.setAnimations(
|
||||||
[('conditional', 'effect=zoom center=auto start=500% end=0% time=2000 condition=true',)])
|
[('conditional', 'effect=zoom center=auto start=500% end=0% time=2000 condition=true',)])
|
||||||
else:
|
else:
|
||||||
self.removeControl(self.global_search)
|
self.removeControl(self.global_search)
|
||||||
self.notfound = xbmcgui.ControlImage(800, 520, 300, 120, "http://imgur.com/V1xs9pT.png")
|
self.notfound = xbmcgui.ControlImage(800, 520, 300, 120, "http://imgur.com/V1xs9pT.png")
|
||||||
self.addControl(self.notfound)
|
self.addControl(self.notfound)
|
||||||
|
if set_animation:
|
||||||
self.notfound.setAnimations(
|
self.notfound.setAnimations(
|
||||||
[('conditional', 'effect=zoom center=auto start=500% end=0% time=2000 condition=true',)])
|
[('conditional', 'effect=zoom center=auto start=500% end=0% time=2000 condition=true',)])
|
||||||
|
|
||||||
@@ -1437,8 +1469,8 @@ class Actores(xbmcgui.WindowXMLDialog):
|
|||||||
name_info = selectitem.getProperty("name_info")
|
name_info = selectitem.getProperty("name_info")
|
||||||
thumbnail = selectitem.getProperty("thumbnail")
|
thumbnail = selectitem.getProperty("thumbnail")
|
||||||
job = selectitem.getProperty("job")
|
job = selectitem.getProperty("job")
|
||||||
dialog = platformtools.dialog_progress("[COLOR darkturquoise][B]Cargando nuevos datos[/B][/COLOR]",
|
dialog = platformtools.dialog_progress("Cargando nuevos datos",
|
||||||
"[COLOR yellow]Obteniendo datos del %s...[/COLOR]" % job.lower())
|
"Obteniendo datos del %s..." % job.lower())
|
||||||
|
|
||||||
global ActorInfoWindow
|
global ActorInfoWindow
|
||||||
ActorInfoWindow = ActorInfo(id=id_actor, name=name_info, thumbnail=thumbnail, item=self.item,
|
ActorInfoWindow = ActorInfo(id=id_actor, name=name_info, thumbnail=thumbnail, item=self.item,
|
||||||
@@ -1516,23 +1548,27 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
self.setCoordinateResolution(2)
|
self.setCoordinateResolution(2)
|
||||||
self.background = xbmcgui.ControlImage(30, -5, 1250, 730, 'http://imgur.com/7ccBX3g.png')
|
self.background = xbmcgui.ControlImage(30, -5, 1250, 730, 'http://imgur.com/7ccBX3g.png')
|
||||||
self.addControl(self.background)
|
self.addControl(self.background)
|
||||||
|
if set_animation:
|
||||||
self.background.setAnimations(
|
self.background.setAnimations(
|
||||||
[('conditional', 'effect=fade start=0% end=100% delay=2000 time=1500 condition=true',),
|
[('conditional', 'effect=fade start=0% end=100% delay=2000 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
||||||
self.filmo = xbmcgui.ControlImage(330, 470, 230, 45, 'http://s6.postimg.org/rlktamqhd/filmography1.png')
|
self.filmo = xbmcgui.ControlImage(330, 470, 230, 45, 'http://s6.postimg.org/rlktamqhd/filmography1.png')
|
||||||
self.addControl(self.filmo)
|
self.addControl(self.filmo)
|
||||||
|
if set_animation:
|
||||||
self.filmo.setAnimations([('conditional',
|
self.filmo.setAnimations([('conditional',
|
||||||
'effect=zoom start=0,700 end=100% center=auto delay=5500 time=1000 condition=true tween=elastic',),
|
'effect=zoom start=0,700 end=100% center=auto delay=5500 time=1000 condition=true tween=elastic',),
|
||||||
('WindowClose', 'effect=zoom start=100% end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=zoom start=100% end=0% time=1000 condition=true',)])
|
||||||
|
|
||||||
self.title = xbmcgui.ControlTextBox(470, 30, 730, 250)
|
self.title = xbmcgui.ControlTextBox(470, 30, 730, 250)
|
||||||
self.addControl(self.title)
|
self.addControl(self.title)
|
||||||
|
if set_animation:
|
||||||
self.title.setAnimations(
|
self.title.setAnimations(
|
||||||
[('conditional', 'effect=slide start=-1500% end=0% delay=3000 time=1500 condition=true',),
|
[('conditional', 'effect=slide start=-1500% end=0% delay=3000 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=slide end=1500% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=1500% time=1000 condition=true',)])
|
||||||
self.title.setText(self.nombre)
|
self.title.setText(self.nombre)
|
||||||
self.info_actor = xbmcgui.ControlTextBox(470, 70, 750, 400)
|
self.info_actor = xbmcgui.ControlTextBox(470, 70, 750, 400)
|
||||||
self.addControl(self.info_actor)
|
self.addControl(self.info_actor)
|
||||||
|
if set_animation:
|
||||||
self.info_actor.setAnimations(
|
self.info_actor.setAnimations(
|
||||||
[('conditional', 'effect=slide start=2000% end=-10% delay=5300 time=1500 tween=bounce condition=true',),
|
[('conditional', 'effect=slide start=2000% end=-10% delay=5300 time=1500 tween=bounce condition=true',),
|
||||||
('WindowClose', 'effect=slide end=-2000% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=-2000% time=1000 condition=true',)])
|
||||||
@@ -1575,6 +1611,7 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
self.btn_left = xbmcgui.ControlButton(90, 490, 70, 29, '', "http://s6.postimg.org/i3pnobu6p/redarrow.png",
|
self.btn_left = xbmcgui.ControlButton(90, 490, 70, 29, '', "http://s6.postimg.org/i3pnobu6p/redarrow.png",
|
||||||
"http://s6.postimg.org/i3pnobu6p/redarrow.png")
|
"http://s6.postimg.org/i3pnobu6p/redarrow.png")
|
||||||
self.addControl(self.btn_left)
|
self.addControl(self.btn_left)
|
||||||
|
if set_animation:
|
||||||
self.btn_left.setAnimations([('conditional',
|
self.btn_left.setAnimations([('conditional',
|
||||||
'effect=zoom start=720,642,70,29 end=640,642,69,29 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
|
'effect=zoom start=720,642,70,29 end=640,642,69,29 time=1000 loop=true tween=bounce condition=Control.HasFocus(' + str(
|
||||||
self.btn_left.getId()) + ')',),
|
self.btn_left.getId()) + ')',),
|
||||||
@@ -1591,6 +1628,7 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
if count < 8:
|
if count < 8:
|
||||||
self.addControl(self.image)
|
self.addControl(self.image)
|
||||||
|
if set_animation:
|
||||||
self.image.setAnimations([('conditional',
|
self.image.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 delay=2000 time=900 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 delay=2000 time=900 tween=elastic condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
@@ -1600,6 +1638,7 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
||||||
self.addControl(self.neon)
|
self.addControl(self.neon)
|
||||||
self.neon.setVisibleCondition('[Control.HasFocus(' + str(self.image.getId()) + ')]')
|
self.neon.setVisibleCondition('[Control.HasFocus(' + str(self.image.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
self.neon.setAnimations([('conditional',
|
self.neon.setAnimations([('conditional',
|
||||||
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
||||||
self.image.getId()) + ')',),
|
self.image.getId()) + ')',),
|
||||||
@@ -1607,6 +1646,7 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
self.addControl(fadelabel)
|
self.addControl(fadelabel)
|
||||||
fadelabel.addLabel(peli)
|
fadelabel.addLabel(peli)
|
||||||
|
if set_animation:
|
||||||
fadelabel.setAnimations([('conditional',
|
fadelabel.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 delay=6200 time=900 tween=elastic condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
@@ -1622,6 +1662,7 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
"http://s6.postimg.org/j4uhr70k1/greenarrow.png",
|
"http://s6.postimg.org/j4uhr70k1/greenarrow.png",
|
||||||
"http://s6.postimg.org/j4uhr70k1/greenarrow.png")
|
"http://s6.postimg.org/j4uhr70k1/greenarrow.png")
|
||||||
self.addControl(self.btn_right)
|
self.addControl(self.btn_right)
|
||||||
|
if set_animation:
|
||||||
self.btn_right.setAnimations(
|
self.btn_right.setAnimations(
|
||||||
[('conditional', 'effect=slide start=-3000 end=0 delay=5000 time=2000 condition=true tween=bounce',), (
|
[('conditional', 'effect=slide start=-3000 end=0 delay=5000 time=2000 condition=true tween=bounce',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
@@ -1641,11 +1682,13 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
self.marco = xbmcgui.ControlImage(100, 23, 330, 425,
|
self.marco = xbmcgui.ControlImage(100, 23, 330, 425,
|
||||||
'http://s6.postimg.org/nkmk7b8nl/marco_foto2_copia.png')
|
'http://s6.postimg.org/nkmk7b8nl/marco_foto2_copia.png')
|
||||||
self.addControl(self.marco)
|
self.addControl(self.marco)
|
||||||
|
if set_animation:
|
||||||
self.marco.setAnimations(
|
self.marco.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=100% end=0% delay=2400 time=1500 condition=true',),
|
[('conditional', 'effect=rotatey start=100% end=0% delay=2400 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
||||||
self.thumb = xbmcgui.ControlImage(115, 40, 294, 397, self.thumbnail)
|
self.thumb = xbmcgui.ControlImage(115, 40, 294, 397, self.thumbnail)
|
||||||
self.addControl(self.thumb)
|
self.addControl(self.thumb)
|
||||||
|
if set_animation:
|
||||||
self.thumb.setAnimations(
|
self.thumb.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=100% end=0% delay=2380 time=1500 condition=true',),
|
[('conditional', 'effect=rotatey start=100% end=0% delay=2380 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
||||||
@@ -1672,11 +1715,13 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
self.thumb = xbmcgui.ControlImage(115, 40, 294, 397, "")
|
self.thumb = xbmcgui.ControlImage(115, 40, 294, 397, "")
|
||||||
xbmc.sleep(500)
|
xbmc.sleep(500)
|
||||||
self.addControl(self.marco)
|
self.addControl(self.marco)
|
||||||
|
if set_animation:
|
||||||
self.marco.setAnimations(
|
self.marco.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=100% end=0% delay=2300 time=1500 condition=true',),
|
[('conditional', 'effect=rotatey start=100% end=0% delay=2300 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
||||||
self.addControl(self.thumb)
|
self.addControl(self.thumb)
|
||||||
self.thumb.setImage(self.thumbnail)
|
self.thumb.setImage(self.thumbnail)
|
||||||
|
if set_animation:
|
||||||
self.thumb.setAnimations(
|
self.thumb.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=100% end=0% delay=2280 time=1500 condition=true',),
|
[('conditional', 'effect=rotatey start=100% end=0% delay=2280 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
||||||
@@ -1697,12 +1742,14 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
self.marco = xbmcgui.ControlImage(100, 23, 330, 425,
|
self.marco = xbmcgui.ControlImage(100, 23, 330, 425,
|
||||||
'http://s6.postimg.org/4syg4krkh/marco_foto.png')
|
'http://s6.postimg.org/4syg4krkh/marco_foto.png')
|
||||||
self.addControl(self.marco)
|
self.addControl(self.marco)
|
||||||
|
if set_animation:
|
||||||
self.marco.setAnimations(
|
self.marco.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=100% end=0% delay=300 time=1500 condition=true',),
|
[('conditional', 'effect=rotatey start=100% end=0% delay=300 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
||||||
self.thumb = xbmcgui.ControlImage(115, 40, 294, 397, "")
|
self.thumb = xbmcgui.ControlImage(115, 40, 294, 397, "")
|
||||||
self.addControl(self.thumb)
|
self.addControl(self.thumb)
|
||||||
self.thumb.setImage(image, True)
|
self.thumb.setImage(image, True)
|
||||||
|
if set_animation:
|
||||||
self.thumb.setAnimations(
|
self.thumb.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=100% end=0% delay=285 time=1500 condition=true',),
|
[('conditional', 'effect=rotatey start=100% end=0% delay=285 time=1500 condition=true',),
|
||||||
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
('WindowClose', 'effect=fade end=0% time=1000 condition=true',)])
|
||||||
@@ -1775,6 +1822,7 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
count += 1
|
count += 1
|
||||||
elif i > self.mas_pelis and count < 16:
|
elif i > self.mas_pelis and count < 16:
|
||||||
self.addControl(afoto)
|
self.addControl(afoto)
|
||||||
|
if set_animation:
|
||||||
afoto.setAnimations([('conditional',
|
afoto.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 time=900 delay=200 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 time=900 delay=200 tween=elastic condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
@@ -1784,12 +1832,14 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
||||||
self.addControl(neon)
|
self.addControl(neon)
|
||||||
neon.setVisibleCondition('[Control.HasFocus(' + str(afoto.getId()) + ')]')
|
neon.setVisibleCondition('[Control.HasFocus(' + str(afoto.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
neon.setAnimations([('conditional',
|
neon.setAnimations([('conditional',
|
||||||
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
||||||
afoto.getId()) + ')',),
|
afoto.getId()) + ')',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
||||||
self.addControl(fadelabel)
|
self.addControl(fadelabel)
|
||||||
fadelabel.addLabel(peli)
|
fadelabel.addLabel(peli)
|
||||||
|
if set_animation:
|
||||||
fadelabel.setAnimations(
|
fadelabel.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
@@ -1830,6 +1880,7 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
resta2 = 8
|
resta2 = 8
|
||||||
if i > len_pelis - resta and count < 8:
|
if i > len_pelis - resta and count < 8:
|
||||||
self.addControl(afoto)
|
self.addControl(afoto)
|
||||||
|
if set_animation:
|
||||||
afoto.setAnimations(
|
afoto.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
||||||
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',),
|
('unfocus', 'effect=zoom center=auto start=70% end=100% time=700 reversible=false',),
|
||||||
@@ -1837,12 +1888,14 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
||||||
self.addControl(neon)
|
self.addControl(neon)
|
||||||
neon.setVisibleCondition('[Control.HasFocus(' + str(afoto.getId()) + ')]')
|
neon.setVisibleCondition('[Control.HasFocus(' + str(afoto.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
neon.setAnimations([('conditional',
|
neon.setAnimations([('conditional',
|
||||||
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
'effect=rotate center=auto start=0% end=360% time=650 tween=bounce condition=Control.HasFocus(' + str(
|
||||||
afoto.getId()) + ')',),
|
afoto.getId()) + ')',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',), ])
|
||||||
self.addControl(fadelabel)
|
self.addControl(fadelabel)
|
||||||
fadelabel.addLabel(peli)
|
fadelabel.addLabel(peli)
|
||||||
|
if set_animation:
|
||||||
fadelabel.setAnimations(
|
fadelabel.setAnimations(
|
||||||
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
[('conditional', 'effect=rotatey start=200 end=0 time=900 tween=elastic condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
@@ -1860,8 +1913,8 @@ class ActorInfo(xbmcgui.WindowDialog):
|
|||||||
|
|
||||||
for boton, peli, id, poster2 in self.idps:
|
for boton, peli, id, poster2 in self.idps:
|
||||||
if control == boton:
|
if control == boton:
|
||||||
dialog = platformtools.dialog_progress("[COLOR darkturquoise][B]Cargando nueva info[/B][/COLOR]",
|
dialog = platformtools.dialog_progress("Cargando nueva info",
|
||||||
"[COLOR lightyellow]Buscando en [/COLOR][COLOR springgreen][B]Tmdb.......[/B][/COLOR]")
|
"Buscando en Tmdb.......")
|
||||||
tipo = self.item.contentType
|
tipo = self.item.contentType
|
||||||
if tipo != "movie":
|
if tipo != "movie":
|
||||||
tipo = "tv"
|
tipo = "tv"
|
||||||
@@ -1899,18 +1952,20 @@ class images(xbmcgui.WindowDialog):
|
|||||||
self.imagenes.append(imagen)
|
self.imagenes.append(imagen)
|
||||||
|
|
||||||
self.setCoordinateResolution(2)
|
self.setCoordinateResolution(2)
|
||||||
self.shadow = xbmcgui.ControlImage(145, 10, 1011, 700, 'http://imgur.com/66VSLTo.png')
|
self.shadow = xbmcgui.ControlImage(245, 10, 1011, 700, 'http://imgur.com/66VSLTo.png')
|
||||||
self.addControl(self.shadow)
|
self.addControl(self.shadow)
|
||||||
|
if set_animation:
|
||||||
self.shadow.setAnimations(
|
self.shadow.setAnimations(
|
||||||
[('conditional', 'effect=slide start=1000% end=100% delay=672 time=2500 condition=true',),
|
[('conditional', 'effect=slide start=1000% delay=672 time=2500 condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0 time=1000 condition=true',)])
|
||||||
imagen_inicial = self.imagenes[0].replace("/preview/", "/fanart/").replace("-s200", "-large").replace("/w342/",
|
imagen_inicial = self.imagenes[0].replace("/preview/", "/fanart/").replace("-s200", "-large").replace("/w342/",
|
||||||
"/original/")
|
"/original/")
|
||||||
self.background = xbmcgui.ControlImage(148, 17, 1003, 560, imagen_inicial, 2)
|
self.background = xbmcgui.ControlImage(248, 17, 1003, 560, imagen_inicial, 2)
|
||||||
self.addControl(self.background)
|
self.addControl(self.background)
|
||||||
|
if set_animation:
|
||||||
self.background.setAnimations(
|
self.background.setAnimations(
|
||||||
[('conditional', 'effect=slide start=1000% end=100% delay=670 time=2500 condition=true',),
|
[('conditional', 'effect=slide start=1000% delay=670 time=2500 condition=true',),
|
||||||
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0 time=1000 condition=true',)])
|
||||||
|
|
||||||
self.botones = []
|
self.botones = []
|
||||||
self.imgcount = 8
|
self.imgcount = 8
|
||||||
@@ -1922,6 +1977,7 @@ class images(xbmcgui.WindowDialog):
|
|||||||
self.btn_left = xbmcgui.ControlButton(293, 550, 70, 29, '', "http://s6.postimg.org/i3pnobu6p/redarrow.png",
|
self.btn_left = xbmcgui.ControlButton(293, 550, 70, 29, '', "http://s6.postimg.org/i3pnobu6p/redarrow.png",
|
||||||
"http://s6.postimg.org/i3pnobu6p/redarrow.png")
|
"http://s6.postimg.org/i3pnobu6p/redarrow.png")
|
||||||
self.addControl(self.btn_left)
|
self.addControl(self.btn_left)
|
||||||
|
if set_animation:
|
||||||
self.btn_left.setAnimations(
|
self.btn_left.setAnimations(
|
||||||
[('conditional', 'effect=zoom start=-100 end=100 delay=5000 time=2000 condition=true tween=bounce',), (
|
[('conditional', 'effect=zoom start=-100 end=100 delay=5000 time=2000 condition=true tween=bounce',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
@@ -1939,6 +1995,7 @@ class images(xbmcgui.WindowDialog):
|
|||||||
self.botones.append(self.image)
|
self.botones.append(self.image)
|
||||||
if count < 8:
|
if count < 8:
|
||||||
self.addControl(self.image)
|
self.addControl(self.image)
|
||||||
|
if set_animation:
|
||||||
self.image.setAnimations([('conditional',
|
self.image.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 delay=3500 time=900 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 delay=3500 time=900 tween=elastic condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
@@ -1946,6 +2003,7 @@ class images(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
self.addControl(self.neon)
|
self.addControl(self.neon)
|
||||||
self.neon.setVisibleCondition('[Control.HasFocus(' + str(self.image.getId()) + ')]')
|
self.neon.setVisibleCondition('[Control.HasFocus(' + str(self.image.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
self.neon.setAnimations([('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
self.neon.setAnimations([('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
|
|
||||||
self.urls.append([self.image, img])
|
self.urls.append([self.image, img])
|
||||||
@@ -1959,6 +2017,7 @@ class images(xbmcgui.WindowDialog):
|
|||||||
"http://s6.postimg.org/j4uhr70k1/greenarrow.png",
|
"http://s6.postimg.org/j4uhr70k1/greenarrow.png",
|
||||||
"http://s6.postimg.org/j4uhr70k1/greenarrow.png")
|
"http://s6.postimg.org/j4uhr70k1/greenarrow.png")
|
||||||
self.addControl(self.btn_right)
|
self.addControl(self.btn_right)
|
||||||
|
if set_animation:
|
||||||
self.btn_right.setAnimations(
|
self.btn_right.setAnimations(
|
||||||
[('conditional', 'effect=slide start=-3000 end=0 delay=3600 time=2000 condition=true tween=bounce',), (
|
[('conditional', 'effect=slide start=-3000 end=0 delay=3600 time=2000 condition=true tween=bounce',), (
|
||||||
'conditional',
|
'conditional',
|
||||||
@@ -2025,6 +2084,7 @@ class images(xbmcgui.WindowDialog):
|
|||||||
count += 1
|
count += 1
|
||||||
elif i > self.imgcount and count < 16:
|
elif i > self.imgcount and count < 16:
|
||||||
self.addControl(image)
|
self.addControl(image)
|
||||||
|
if set_animation:
|
||||||
image.setAnimations([('conditional',
|
image.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 delay=600 time=900 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 delay=600 time=900 tween=elastic condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
@@ -2032,6 +2092,7 @@ class images(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
self.addControl(neon)
|
self.addControl(neon)
|
||||||
neon.setVisibleCondition('[Control.HasFocus(' + str(image.getId()) + ')]')
|
neon.setVisibleCondition('[Control.HasFocus(' + str(image.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
neon.setAnimations([('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
neon.setAnimations([('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
@@ -2068,6 +2129,7 @@ class images(xbmcgui.WindowDialog):
|
|||||||
resta2 = 8
|
resta2 = 8
|
||||||
if i > len_images - resta and count < 8:
|
if i > len_images - resta and count < 8:
|
||||||
self.addControl(image)
|
self.addControl(image)
|
||||||
|
if set_animation:
|
||||||
image.setAnimations([('conditional',
|
image.setAnimations([('conditional',
|
||||||
'effect=rotatey start=200 end=0 delay=600 time=900 tween=elastic condition=true',),
|
'effect=rotatey start=200 end=0 delay=600 time=900 tween=elastic condition=true',),
|
||||||
('unfocus',
|
('unfocus',
|
||||||
@@ -2075,6 +2137,7 @@ class images(xbmcgui.WindowDialog):
|
|||||||
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
self.addControl(neon)
|
self.addControl(neon)
|
||||||
neon.setVisibleCondition('[Control.HasFocus(' + str(image.getId()) + ')]')
|
neon.setVisibleCondition('[Control.HasFocus(' + str(image.getId()) + ')]')
|
||||||
|
if set_animation:
|
||||||
neon.setAnimations([('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
neon.setAnimations([('WindowClose', 'effect=slide end=0,700% time=1000 condition=true',)])
|
||||||
count += 1
|
count += 1
|
||||||
elif i > len_images - resta2 and i <= len_images and count < 16:
|
elif i > len_images - resta2 and i <= len_images and count < 16:
|
||||||
@@ -2198,7 +2261,7 @@ def get_filmaf(item, infoLabels):
|
|||||||
|
|
||||||
rating = scrapertools.find_single_match(data, 'itemprop="ratingValue" content="([^"]+)"')
|
rating = scrapertools.find_single_match(data, 'itemprop="ratingValue" content="([^"]+)"')
|
||||||
if not rating:
|
if not rating:
|
||||||
rating_filma = "[COLOR crimson][B]Sin puntuación[/B][/COLOR]"
|
rating_filma = "[COLOR crimson][B]N/A[/B][/COLOR]"
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
if float(rating) >= 5 and float(rating) < 8:
|
if float(rating) >= 5 and float(rating) < 8:
|
||||||
@@ -2214,28 +2277,10 @@ def get_filmaf(item, infoLabels):
|
|||||||
plot = scrapertools.find_single_match(data, '<dd itemprop="description">(.*?)</dd>')
|
plot = scrapertools.find_single_match(data, '<dd itemprop="description">(.*?)</dd>')
|
||||||
plot = plot.replace("<br><br />", "\n")
|
plot = plot.replace("<br><br />", "\n")
|
||||||
|
|
||||||
patron = '<div itemprop="reviewBody">(.*?)</div>.*?itemprop="author">(.*?)\s*<i alt="([^"]+)"'
|
|
||||||
matches_reviews = scrapertools.find_multiple_matches(data, patron)
|
|
||||||
critica = ""
|
|
||||||
if matches_reviews:
|
|
||||||
for review, autor, valoracion in matches_reviews:
|
|
||||||
review = dhe(scrapertools.htmlclean(review))
|
|
||||||
review += "\n" + autor
|
|
||||||
if "positiva" in valoracion:
|
|
||||||
critica += "[COLOR green][B]%s[/B][/COLOR]\n\n" % review
|
|
||||||
elif "neutral" in valoracion:
|
|
||||||
critica += "[COLOR yellow][B]%s[/B][/COLOR]\n\n" % review
|
|
||||||
else:
|
else:
|
||||||
critica += "[COLOR red][B]%s[/B][/COLOR]\n\n" % review
|
rating_filma = "[COLOR crimson][B]N/A[/B][/COLOR]"
|
||||||
else:
|
|
||||||
critica = "[COLOR floralwhite][B]Esta %s no tiene críticas[/B][/COLOR]" % tipo
|
|
||||||
|
|
||||||
else:
|
|
||||||
critica = "[COLOR floralwhite][B]Esta %s no tiene críticas[/B][/COLOR]" % tipo
|
|
||||||
rating_filma = "[COLOR crimson][B]Sin puntuación[/B][/COLOR]"
|
|
||||||
plot = ""
|
plot = ""
|
||||||
|
return rating_filma, plot
|
||||||
return critica, rating_filma, plot
|
|
||||||
|
|
||||||
|
|
||||||
def fanartv(item, infoLabels, images={}):
|
def fanartv(item, infoLabels, images={}):
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ def episodios(item):
|
|||||||
title=title, url=url, show=show))
|
title=title, url=url, show=show))
|
||||||
|
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0:
|
if config.get_videolibrary_support() and len(itemlist) > 0:
|
||||||
itemlist.append(Item(channel=item.channel, title="Añadir Temporada/Serie a la biblioteca de Kodi", url=item.url,
|
itemlist.append(Item(channel=item.channel, title="[COLOR yellow]Añadir Temporada/Serie a la biblioteca de Kodi[/COLOR]", url=item.url,
|
||||||
action="add_serie_to_library", extra="episodios", show=show))
|
action="add_serie_to_library", extra="episodios", show=show))
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|||||||
@@ -33,15 +33,14 @@ def mainlist(item):
|
|||||||
def explorar(item):
|
def explorar(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = list()
|
itemlist = list()
|
||||||
url1 = str(item.url)
|
url1 = item.title
|
||||||
data = httptools.downloadpage(host).data
|
data = httptools.downloadpage(host).data
|
||||||
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
|
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
|
||||||
# logger.info("loca :"+url1+" aaa"+data)
|
if 'Género' in url1:
|
||||||
if 'genero' in url1:
|
patron = '<div class="d">.+?<h3>Pel.+?neros<\/h3>(.+?)<\/h3>'
|
||||||
patron = '<div class="d"><h3>Pel.+?neros<\/h3>(.+?)<\/h3>'
|
if 'Listado Alfabético' in url1:
|
||||||
if 'alfabetico' in url1:
|
patron = '<\/li><\/ul>.+?<h3>Pel.+?tico<\/h3>(.+?)<\/h3>'
|
||||||
patron = '<\/li><\/ul><h3>Pel.+?tico<\/h3>(.+?)<\/h3>'
|
if 'Año' in url1:
|
||||||
if 'año' in url1:
|
|
||||||
patron = '<ul class="anio"><li>(.+?)<\/ul>'
|
patron = '<ul class="anio"><li>(.+?)<\/ul>'
|
||||||
data_explorar = scrapertools.find_single_match(data, patron)
|
data_explorar = scrapertools.find_single_match(data, patron)
|
||||||
patron_explorar = '<a href="([^"]+)">([^"]+)<\/a>'
|
patron_explorar = '<a href="([^"]+)">([^"]+)<\/a>'
|
||||||
@@ -79,26 +78,22 @@ def lista(item):
|
|||||||
|
|
||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) # Eliminamos tabuladores, dobles espacios saltos de linea, etc...
|
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data) # Eliminamos tabuladores, dobles espacios saltos de linea, etc...
|
||||||
url1 = str(item.url)
|
data_mov= scrapertools.find_single_match(data,'<div id="cuerpo"><div class="iz">(.+)<ul class="pag">')
|
||||||
if 'http://www.peliculashindu.com/' in url1:
|
|
||||||
url1 = url1.replace("http://www.peliculashindu.com/", "")
|
|
||||||
if url1 != 'estrenos':
|
|
||||||
data = scrapertools.find_single_match(data, '<div id="cuerpo"><div class="iz">.+>Otras')
|
|
||||||
# data= scrapertools.find_single_match(data,'<div id="cuerpo"><div class="iz">.+>Otras')
|
|
||||||
patron = '<a href="([^"]+)"><img src="([^"]+)" alt="([^"]+)"' # scrapedurl, scrapedthumbnail, scrapedtitle
|
patron = '<a href="([^"]+)"><img src="([^"]+)" alt="([^"]+)"' # scrapedurl, scrapedthumbnail, scrapedtitle
|
||||||
matches = scrapertools.find_multiple_matches(data, patron)
|
matches = scrapertools.find_multiple_matches(data_mov, patron)
|
||||||
for scrapedurl, scrapedthumbnail, scrapedtitle in matches: # scrapedthumbnail, scrapedtitle in matches:
|
for scrapedurl, scrapedthumbnail, scrapedtitle in matches: # scrapedthumbnail, scrapedtitle in matches:
|
||||||
itemlist.append(item.clone(title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, action="findvideos",
|
itemlist.append(item.clone(title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, action="findvideos",
|
||||||
show=scrapedtitle))
|
show=scrapedtitle))
|
||||||
# Paginacion
|
# Paginacion
|
||||||
patron_pag = '<a href="([^"]+)" title="Siguiente .+?">'
|
patron_pag = '<a href="([^"]+)" title="Siguiente .+?">'
|
||||||
paginasig = scrapertools.find_single_match(data, patron_pag)
|
paginasig = scrapertools.find_single_match(data, patron_pag)
|
||||||
|
logger.info("algoooosadf "+paginasig)
|
||||||
|
|
||||||
next_page_url = item.url + paginasig
|
next_page_url = host + paginasig
|
||||||
|
|
||||||
if paginasig != "":
|
if paginasig != "":
|
||||||
item.url = next_page_url
|
item.url = next_page_url
|
||||||
itemlist.append(Item(channel=item.channel, action="lista", title=">> Página siguiente", url=next_page_url,
|
itemlist.append(Item(channel=item.channel, action="lista", title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=next_page_url,
|
||||||
thumbnail='https://s32.postimg.org/4zppxf5j9/siguiente.png'))
|
thumbnail='https://s32.postimg.org/4zppxf5j9/siguiente.png'))
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
@@ -114,10 +109,9 @@ def findvideos(item):
|
|||||||
logger.info("holaa" + data)
|
logger.info("holaa" + data)
|
||||||
patron_show = '<strong>Ver Pel.+?a([^<]+) online<\/strong>'
|
patron_show = '<strong>Ver Pel.+?a([^<]+) online<\/strong>'
|
||||||
show = scrapertools.find_single_match(data, patron_show)
|
show = scrapertools.find_single_match(data, patron_show)
|
||||||
logger.info("holaa" + show)
|
|
||||||
for videoitem in itemlist:
|
for videoitem in itemlist:
|
||||||
videoitem.channel = item.channel
|
videoitem.channel = item.channel
|
||||||
if config.get_videolibrary_support() and len(itemlist) > 0:
|
if config.get_videolibrary_support() and len(itemlist) > 0 and item.contentChannel!='videolibrary':
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel, title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
|
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=show))
|
action="add_pelicula_to_library", extra="findvideos", contentTitle=show))
|
||||||
|
|||||||
@@ -240,10 +240,10 @@ def findvideos(item):
|
|||||||
))
|
))
|
||||||
for videoitem in templist:
|
for videoitem in templist:
|
||||||
data = httptools.downloadpage(videoitem.url).data
|
data = httptools.downloadpage(videoitem.url).data
|
||||||
urls_list = scrapertools.find_multiple_matches(data, '{"reorder":1,"type":.*?}')
|
|
||||||
|
urls_list = scrapertools.find_multiple_matches(data, 'var.*?_SOURCE\s+=\s+\[(.*?)\]')
|
||||||
for element in urls_list:
|
for element in urls_list:
|
||||||
json_data=jsontools.load(element)
|
json_data=jsontools.load(element)
|
||||||
|
|
||||||
id = json_data['id']
|
id = json_data['id']
|
||||||
sub = json_data['srt']
|
sub = json_data['srt']
|
||||||
url = json_data['source']
|
url = json_data['source']
|
||||||
@@ -253,7 +253,6 @@ def findvideos(item):
|
|||||||
|
|
||||||
new_url = 'https://onevideo.tv/api/player?key=90503e3de26d45e455b55e9dc54f015b3d1d4150&link' \
|
new_url = 'https://onevideo.tv/api/player?key=90503e3de26d45e455b55e9dc54f015b3d1d4150&link' \
|
||||||
'=%s&srt=%s' % (url, sub)
|
'=%s&srt=%s' % (url, sub)
|
||||||
logger.debug('new_url: %s' % new_url)
|
|
||||||
|
|
||||||
data = httptools.downloadpage(new_url).data
|
data = httptools.downloadpage(new_url).data
|
||||||
data = re.sub(r'\\', "", data)
|
data = re.sub(r'\\', "", data)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ from core import httptools
|
|||||||
from core import scrapertools
|
from core import scrapertools
|
||||||
from core import servertools
|
from core import servertools
|
||||||
from core.item import Item
|
from core.item import Item
|
||||||
|
from core import tmdb
|
||||||
from platformcode import config, logger
|
from platformcode import config, logger
|
||||||
|
|
||||||
IDIOMAS = {'latino': 'Latino'}
|
IDIOMAS = {'latino': 'Latino'}
|
||||||
@@ -35,6 +36,7 @@ def mainlist(item):
|
|||||||
url=host,
|
url=host,
|
||||||
thumbnail='https://s27.postimg.org/iahczwgrn/series.png',
|
thumbnail='https://s27.postimg.org/iahczwgrn/series.png',
|
||||||
fanart='https://s27.postimg.org/iahczwgrn/series.png',
|
fanart='https://s27.postimg.org/iahczwgrn/series.png',
|
||||||
|
page=0
|
||||||
))
|
))
|
||||||
autoplay.show_option(item.channel, itemlist)
|
autoplay.show_option(item.channel, itemlist)
|
||||||
return itemlist
|
return itemlist
|
||||||
@@ -49,13 +51,19 @@ def todas(item):
|
|||||||
'Serie><span>(.*?)<\/span>'
|
'Serie><span>(.*?)<\/span>'
|
||||||
|
|
||||||
matches = re.compile(patron, re.DOTALL).findall(data)
|
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||||
for scrapedurl, scrapedthumbnail, scrapedcalidad, scrapedtitle in matches:
|
# Paginacion
|
||||||
|
num_items_x_pagina = 30
|
||||||
|
min = item.page * num_items_x_pagina
|
||||||
|
min=int(min)-int(item.page)
|
||||||
|
max = min + num_items_x_pagina - 1
|
||||||
|
|
||||||
|
for scrapedurl, scrapedthumbnail, scrapedcalidad, scrapedtitle in matches[min:max]:
|
||||||
url = host + scrapedurl
|
url = host + scrapedurl
|
||||||
calidad = scrapedcalidad
|
calidad = scrapedcalidad
|
||||||
title = scrapedtitle.decode('utf-8')
|
title = scrapedtitle.decode('utf-8')
|
||||||
thumbnail = scrapedthumbnail
|
thumbnail = scrapedthumbnail
|
||||||
fanart = 'https://s32.postimg.org/gh8lhbkb9/seodiv.png'
|
fanart = 'https://s32.postimg.org/gh8lhbkb9/seodiv.png'
|
||||||
|
if not 'xxxxxx' in scrapedtitle:
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel,
|
Item(channel=item.channel,
|
||||||
action="temporadas",
|
action="temporadas",
|
||||||
@@ -67,7 +75,13 @@ def todas(item):
|
|||||||
language=language,
|
language=language,
|
||||||
context=autoplay.context
|
context=autoplay.context
|
||||||
))
|
))
|
||||||
|
tmdb.set_infoLabels(itemlist)
|
||||||
|
if len(itemlist)>28:
|
||||||
|
itemlist.append(
|
||||||
|
Item(channel=item.channel,
|
||||||
|
title="[COLOR cyan]Página Siguiente >>[/COLOR]",
|
||||||
|
url=item.url, action="todas",
|
||||||
|
page=item.page + 1))
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
@@ -222,16 +236,31 @@ def episodiosxtemp(item):
|
|||||||
def findvideos(item):
|
def findvideos(item):
|
||||||
logger.info()
|
logger.info()
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
lang=[]
|
||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
video_items = servertools.find_video_items(item)
|
video_items = servertools.find_video_items(item)
|
||||||
|
data = re.sub(r'"|\n|\r|\t| |<br>|\s{2,}', "", data)
|
||||||
|
language_items=scrapertools.find_single_match(data,
|
||||||
|
'<ul class=tabs-sidebar-ul>(.+?)<\/ul>')
|
||||||
|
matches=scrapertools.find_multiple_matches(language_items,
|
||||||
|
'<li><a href=#ts(.+?)><span>(.+?)<\/span><\/a><\/li>')
|
||||||
|
for idl,scrapedlang in matches:
|
||||||
|
if int(idl)<5 and int(idl)!=1:
|
||||||
|
lang.append(scrapedlang)
|
||||||
|
i=0
|
||||||
|
logger.info(lang)
|
||||||
for videoitem in video_items:
|
for videoitem in video_items:
|
||||||
videoitem.thumbnail = servertools.guess_server_thumbnail(videoitem.server)
|
videoitem.thumbnail = servertools.guess_server_thumbnail(videoitem.server)
|
||||||
videoitem.language = scrapertools.find_single_match(data, '<span class="f-info-title">Idioma:<\/span>\s*<span '
|
#videoitem.language = scrapertools.find_single_match(data, '<span class="f-info-title">Idioma:<\/span>\s*<span '
|
||||||
'class="f-info-text">(.*?)<\/span>')
|
# 'class="f-info-text">(.*?)<\/span>')
|
||||||
|
if len(lang)<=i:
|
||||||
|
videoitem.language=lang[i]
|
||||||
|
else:
|
||||||
|
videoitem.language=lang[len(lang)-1]
|
||||||
videoitem.title = item.contentSerieName + ' (' + videoitem.server + ') (' + videoitem.language + ')'
|
videoitem.title = item.contentSerieName + ' (' + videoitem.server + ') (' + videoitem.language + ')'
|
||||||
videoitem.quality = 'default'
|
videoitem.quality = 'default'
|
||||||
videoitem.context = item.context
|
videoitem.context = item.context
|
||||||
|
i=i+1
|
||||||
itemlist.append(videoitem)
|
itemlist.append(videoitem)
|
||||||
|
|
||||||
# Requerido para FilterTools
|
# Requerido para FilterTools
|
||||||
|
|||||||
@@ -78,10 +78,10 @@ def lista(item):
|
|||||||
url="https://serieslan.com/pag-"+str(a)
|
url="https://serieslan.com/pag-"+str(a)
|
||||||
if b>10:
|
if b>10:
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel, title="Página Siguiente >>", url=url, action="lista", page=0))
|
Item(channel=item.channel, title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=url, action="lista", page=0))
|
||||||
else:
|
else:
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel, title="Página Siguiente >>", url=item.url, action="lista", page=item.page + 1))
|
Item(channel=item.channel, title="[COLOR cyan]Página Siguiente >>[/COLOR]", url=item.url, action="lista", page=item.page + 1))
|
||||||
|
|
||||||
tmdb.set_infoLabels(itemlist)
|
tmdb.set_infoLabels(itemlist)
|
||||||
return itemlist
|
return itemlist
|
||||||
@@ -92,7 +92,6 @@ def episodios(item):
|
|||||||
|
|
||||||
itemlist = []
|
itemlist = []
|
||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
logger.debug("info %s " % data)
|
|
||||||
# obtener el numero total de episodios
|
# obtener el numero total de episodios
|
||||||
total_episode = 0
|
total_episode = 0
|
||||||
|
|
||||||
@@ -185,7 +184,6 @@ def findvideos(item):
|
|||||||
data = eval(data)
|
data = eval(data)
|
||||||
|
|
||||||
if type(data) == list:
|
if type(data) == list:
|
||||||
logger.debug("inside")
|
|
||||||
video_url = url_server % (txc(ide, base64.decodestring(data[2])))
|
video_url = url_server % (txc(ide, base64.decodestring(data[2])))
|
||||||
server = "openload"
|
server = "openload"
|
||||||
if " SUB" in item.title:
|
if " SUB" in item.title:
|
||||||
@@ -195,6 +193,10 @@ def findvideos(item):
|
|||||||
else:
|
else:
|
||||||
lang = "Latino"
|
lang = "Latino"
|
||||||
title = "Enlace encontrado en " + server + " [" + lang + "]"
|
title = "Enlace encontrado en " + server + " [" + lang + "]"
|
||||||
|
if item.contentChannel=='videolibrary':
|
||||||
|
itemlist.append(item.clone(channel=item.channel, action="play", url=video_url,
|
||||||
|
thumbnail=thumbnail, server=server, folder=False))
|
||||||
|
else:
|
||||||
itemlist.append(Item(channel=item.channel, action="play", title=title, show=show, url=video_url, plot=item.plot,
|
itemlist.append(Item(channel=item.channel, action="play", title=title, show=show, url=video_url, plot=item.plot,
|
||||||
thumbnail=thumbnail, server=server, folder=False))
|
thumbnail=thumbnail, server=server, folder=False))
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@
|
|||||||
</category>
|
</category>
|
||||||
<category label="Opciones Visuales">
|
<category label="Opciones Visuales">
|
||||||
<setting id="icon_set" type="labelenum" label="Set de iconos" values="default|dark" default="default"/>
|
<setting id="icon_set" type="labelenum" label="Set de iconos" values="default|dark" default="default"/>
|
||||||
|
<setting id="infoplus_set" type="labelenum" label="Opción visual Infoplus" values="Sin animación|Con animación" default="Sin animación"/>
|
||||||
</category>
|
</category>
|
||||||
<category label="Otros">
|
<category label="Otros">
|
||||||
<setting label="Info de películas/series en menú contextual" type="lsep"/>
|
<setting label="Info de películas/series en menú contextual" type="lsep"/>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
|||||||
cgi_counter = cgi_counter.replace("%0A","").replace("%22","")
|
cgi_counter = cgi_counter.replace("%0A","").replace("%22","")
|
||||||
playnow = scrapertools.find_single_match(data, 'https://www.flashx.tv/dl[^"]+')
|
playnow = scrapertools.find_single_match(data, 'https://www.flashx.tv/dl[^"]+')
|
||||||
# Para obtener el f y el fxfx
|
# Para obtener el f y el fxfx
|
||||||
js_fxfx = "https://www." + scrapertools.find_single_match(data.replace("//","/"), """(?is)(flashx.tv/js/code.js.*?[^(?:'|")]+)""")
|
js_fxfx = "https://www." + scrapertools.find_single_match(data.replace("//","/"), """(?is)(flashx.tv/jss/coder.js.*?[^(?:'|")]+)""")
|
||||||
data_fxfx = httptools.downloadpage(js_fxfx).data
|
data_fxfx = httptools.downloadpage(js_fxfx).data
|
||||||
mfxfx = scrapertools.find_single_match(data_fxfx, 'get.*?({.*?})').replace("'","").replace(" ","")
|
mfxfx = scrapertools.find_single_match(data_fxfx, 'get.*?({.*?})').replace("'","").replace(" ","")
|
||||||
matches = scrapertools.find_multiple_matches(mfxfx, '(\w+):(\w+)')
|
matches = scrapertools.find_multiple_matches(mfxfx, '(\w+):(\w+)')
|
||||||
|
|||||||
@@ -8,9 +8,11 @@ from platformcode import logger
|
|||||||
def test_video_exists(page_url):
|
def test_video_exists(page_url):
|
||||||
logger.info("(page_url='%s')" % page_url)
|
logger.info("(page_url='%s')" % page_url)
|
||||||
|
|
||||||
data = httptools.downloadpage(page_url).data
|
response = httptools.downloadpage(page_url)
|
||||||
if "video_error.mp4" in data:
|
if "video_error.mp4" in response.data:
|
||||||
return False, "[Stormo] El archivo no existe o ha sido borrado"
|
return False, "[Stormo] El archivo no existe o ha sido borrado"
|
||||||
|
if response.code == 451:
|
||||||
|
return False, "[Stormo] El archivo ha sido borrado por problemas legales."
|
||||||
|
|
||||||
return True, ""
|
return True, ""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user