Merge pull request #329 from thedoctor66/master

Added translation with Italian language
This commit is contained in:
Alfa
2018-07-04 14:25:46 -05:00
committed by GitHub
27 changed files with 19914 additions and 1940 deletions

View File

@@ -10,14 +10,14 @@
"settings": [
{
"type": "label",
"label": "Ubicacion de archivos",
"label": "@70229",
"enabled": true,
"visible": true
},
{
"id": "library_add",
"type": "bool",
"label": " - Añadir descargas completadas a la videoteca",
"label": "@70230",
"default": true,
"enabled": true,
"visible": true
@@ -25,7 +25,7 @@
{
"id": "library_move",
"type": "bool",
"label": " - Mover el archivo descargado a la videoteca",
"label": "@70231",
"default": true,
"enabled": "eq(-1,true)",
"visible": true
@@ -33,21 +33,21 @@
{
"id": "browser",
"type": "bool",
"label": " - Visualizar archivos descargados desde descargas",
"label": "@70232",
"default": false,
"enabled": true,
"visible": true
},
{
"type": "label",
"label": "Descarga",
"label": "@70243",
"enabled": true,
"visible": true
},
{
"id": "block_size",
"type": "list",
"label": " - Tamaño por bloque",
"label": "@70233",
"lvalues": [
"128 KB",
"256 KB",
@@ -62,7 +62,7 @@
{
"id": "part_size",
"type": "list",
"label": " - Tamaño por parte",
"label": "@70234",
"lvalues": [
"1 MB",
"2 MB",
@@ -78,7 +78,7 @@
{
"id": "max_connections",
"type": "list",
"label": " - Numero máximo de conexiones simultaneas",
"label": "@70235",
"lvalues": [
"1",
"2",
@@ -98,7 +98,7 @@
{
"id": "max_buffer",
"type": "list",
"label": " - Numero máximo de partes en memoria",
"label": "@70236",
"lvalues": [
"0",
"2",
@@ -118,17 +118,17 @@
},
{
"type": "label",
"label": "Elección del servidor",
"label": "@70237",
"enabled": true,
"visible": true
},
{
"id": "server_reorder",
"type": "list",
"label": " - Orden de servidores",
"label": "@70238",
"lvalues": [
"Mantener",
"Reordenar"
"@70244",
"@70245"
],
"default": 1,
"enabled": true,
@@ -137,7 +137,7 @@
{
"id": "language",
"type": "list",
"label": " - Idioma preferido",
"label": "@70246",
"lvalues": [
"Esp, Lat, Sub, Eng, Vose",
"Esp, Sub, Lat, Eng, Vose",
@@ -145,29 +145,29 @@
"Vose, Eng, Sub, Esp, Lat"
],
"default": 0,
"enabled": "eq(-1,'Reordenar')",
"enabled": "eq(-1,@70245])",
"visible": true
},
{
"id": "quality",
"type": "list",
"label": " - Calidad preferida",
"label": "@70240",
"lvalues": [
"La mas alta",
"@70241",
"HD 1080",
"HD 720",
"SD"
],
"default": 0,
"enabled": "eq(-2,'Reordenar')",
"enabled": "eq(-2,@70245])",
"visible": true
},
{
"id": "server_speed",
"type": "bool",
"label": " - Elegir los servidores mas rapidos",
"label": "@70242",
"default": true,
"enabled": "eq(-3,'Reordenar')",
"enabled": "eq(-3,@70245])",
"visible": true
}
]

View File

@@ -89,40 +89,40 @@ def mainlist(item):
# Si hay alguno completado
if 2 in estados:
itemlist.insert(0, Item(channel=item.channel, action="clean_ready", title="Eliminar descargas completadas",
itemlist.insert(0, Item(channel=item.channel, action="clean_ready", title=config.get_localized_string(70218),
contentType=item.contentType, contentChannel=item.contentChannel,
contentSerieName=item.contentSerieName, text_color="sandybrown"))
# Si hay alguno con error
if 3 in estados:
itemlist.insert(0, Item(channel=item.channel, action="restart_error", title="Reiniciar descargas con error",
itemlist.insert(0, Item(channel=item.channel, action="restart_error", title=config.get_localized_string(70219),
contentType=item.contentType, contentChannel=item.contentChannel,
contentSerieName=item.contentSerieName, text_color="orange"))
# Si hay alguno pendiente
if 1 in estados or 0 in estados:
itemlist.insert(0, Item(channel=item.channel, action="download_all", title="Descargar todo",
itemlist.insert(0, Item(channel=item.channel, action="download_all", title=config.get_localized_string(70220),
contentType=item.contentType, contentChannel=item.contentChannel,
contentSerieName=item.contentSerieName, text_color="green"))
if len(itemlist):
itemlist.insert(0, Item(channel=item.channel, action="clean_all", title="Eliminar todo",
itemlist.insert(0, Item(channel=item.channel, action="clean_all", title=config.get_localized_string(70221),
contentType=item.contentType, contentChannel=item.contentChannel,
contentSerieName=item.contentSerieName, text_color="red"))
if not item.contentType == "tvshow" and config.get_setting("browser", "downloads") == True:
itemlist.insert(0, Item(channel=item.channel, action="browser", title="Ver archivos descargados",
itemlist.insert(0, Item(channel=item.channel, action="browser", title=config.get_localized_string(70222),
url=DOWNLOAD_PATH, text_color="yellow"))
if not item.contentType == "tvshow":
itemlist.insert(0, Item(channel=item.channel, action="settings", title="Configuración descargas...",
itemlist.insert(0, Item(channel=item.channel, action="settings", title=config.get_localized_string(70223),
text_color="blue"))
return itemlist
def settings(item):
ret = platformtools.show_channel_settings(caption="configuración -- Descargas")
ret = platformtools.show_channel_settings(caption=config.get_localized_string(70224))
platformtools.itemlist_refresh()
return ret
@@ -211,7 +211,7 @@ def menu(item):
else:
servidor = "Auto"
# Opciones disponibles para el menu
op = ["Descargar", "Eliminar de la lista", "Reiniciar descarga y eliminar datos",
op = [config.get_localized_string(70225), config.get_localized_string(70226), config.get_localized_string(70227),
"Modificar servidor: %s" % (servidor.capitalize())]
opciones = []
@@ -237,7 +237,7 @@ def menu(item):
opciones.append(op[1]) # Eliminar de la lista
# Mostramos el dialogo
seleccion = platformtools.dialog_select("Elige una opción", opciones)
seleccion = platformtools.dialog_select(config.get_localized_string(30163), opciones)
# -1 es cancelar
if seleccion == -1: return
@@ -289,12 +289,12 @@ def move_to_libray(item):
if config.get_setting("library_add", "downloads") == True:
if filetools.isfile(final_path):
if item.contentType == "movie" and item.infoLabels["tmdb_id"]:
library_item = Item(title="Descargado: %s" % item.downloadFilename, channel="downloads",
library_item = Item(title=config.get_localized_string(70228) % item.downloadFilename, channel="downloads",
action="findvideos", infoLabels=item.infoLabels, url=final_path)
videolibrarytools.save_movie(library_item)
elif item.contentType == "episode" and item.infoLabels["tmdb_id"]:
library_item = Item(title="Descargado: %s" % item.downloadFilename, channel="downloads",
library_item = Item(title=config.get_localized_string(70228) % item.downloadFilename, channel="downloads",
action="findvideos", infoLabels=item.infoLabels, url=final_path)
tvshow = Item(channel="downloads", contentType="tvshow",
infoLabels={"tmdb_id": item.infoLabels["tmdb_id"]})
@@ -474,7 +474,7 @@ def download_from_url(url, item):
block_size=2 ** (17 + int(config.get_setting("block_size", "downloads"))),
part_size=2 ** (20 + int(config.get_setting("part_size", "downloads"))),
max_buffer=2 * int(config.get_setting("max_buffer", "downloads")))
d.start_dialog("Descargas")
d.start_dialog(config.get_localized_string(60332))
# Descarga detenida. Obtenemos el estado:
# Se ha producido un error en la descarga
@@ -511,11 +511,11 @@ def download_from_server(item):
logger.info(item.tostring())
unsupported_servers = ["torrent"]
progreso = platformtools.dialog_progress("Descargas", "Probando con: %s" % item.server)
progreso = platformtools.dialog_progress(config.get_localized_string(30101), config.get_localized_string(70178) % item.server)
channel = __import__('channels.%s' % item.contentChannel, None, None, ["channels.%s" % item.contentChannel])
if hasattr(channel, "play") and not item.play_menu:
progreso.update(50, "Probando con: %s" % item.server, "Conectando con %s..." % item.contentChannel)
progreso.update(50, config.get_localized_string(70178) % item.server, config.get_localized_string(60003) % item.contentChannel)
try:
itemlist = getattr(channel, "play")(item.clone(channel=item.contentChannel, action=item.contentAction))
except:
@@ -578,10 +578,10 @@ def download_from_best_server(item):
result = {"downloadStatus": STATUS_CODES.error}
progreso = platformtools.dialog_progress("Descargas", "Obteniendo lista de servidores disponibles...")
progreso = platformtools.dialog_progress(config.get_localized_string(30101), config.get_localized_string(70179))
channel = __import__('channels.%s' % item.contentChannel, None, None, ["channels.%s" % item.contentChannel])
progreso.update(50, "Obteniendo lista de servidores disponibles:", "Conectando con %s..." % item.contentChannel)
progreso.update(50, config.get_localized_string(70184), config.get_localized_string(70180) % item.contentChannel)
if hasattr(channel, item.contentAction):
play_items = getattr(channel, item.contentAction)(
@@ -591,8 +591,8 @@ def download_from_best_server(item):
play_items = filter(lambda x: x.action == "play" and not "trailer" in x.title.lower(), play_items)
progreso.update(100, "Obteniendo lista de servidores disponibles", "Servidores disponibles: %s" % len(play_items),
"Identificando servidores...")
progreso.update(100, config.get_localized_string(70183), config.get_localized_string(70181) % len(play_items),
config.get_localized_string(70182))
if config.get_setting("server_reorder", "downloads") == 1:
play_items.sort(key=sort_method)
@@ -625,9 +625,9 @@ def select_server(item):
logger.info(
"contentAction: %s | contentChannel: %s | url: %s" % (item.contentAction, item.contentChannel, item.url))
progreso = platformtools.dialog_progress("Descargas", "Obteniendo lista de servidores disponibles...")
progreso = platformtools.dialog_progress(config.get_localized_string(30101), config.get_localized_string(70179))
channel = __import__('channels.%s' % item.contentChannel, None, None, ["channels.%s" % item.contentChannel])
progreso.update(50, "Obteniendo lista de servidores disponibles:", "Conectando con %s..." % item.contentChannel)
progreso.update(50, config.get_localized_string(70184), config.get_localized_string(70180) % item.contentChannel)
if hasattr(channel, item.contentAction):
play_items = getattr(channel, item.contentAction)(
@@ -637,14 +637,14 @@ def select_server(item):
play_items = filter(lambda x: x.action == "play" and not "trailer" in x.title.lower(), play_items)
progreso.update(100, "Obteniendo lista de servidores disponibles", "Servidores disponibles: %s" % len(play_items),
"Identificando servidores...")
progreso.update(100, config.get_localized_string(70183), config.get_localized_string(70181) % len(play_items),
config.get_localized_string(70182))
for x, i in enumerate(play_items):
if not i.server and hasattr(channel, "play"):
play_items[x] = getattr(channel, "play")(i)
seleccion = platformtools.dialog_select("Selecciona el servidor", ["Auto"] + [s.title for s in play_items])
seleccion = platformtools.dialog_select(config.get_localized_string(70192), ["Auto"] + [s.title for s in play_items])
if seleccion > 1:
update_json(item.path, {
"downloadServer": {"url": play_items[seleccion - 1].url, "server": play_items[seleccion - 1].server}})
@@ -795,7 +795,7 @@ def save_download_video(item):
write_json(item)
if not platformtools.dialog_yesno(config.get_localized_string(30101), "¿Iniciar la descarga ahora?"):
if not platformtools.dialog_yesno(config.get_localized_string(30101), config.get_localized_string(70189)):
platformtools.dialog_ok(config.get_localized_string(30101), item.contentTitle,
config.get_localized_string(30109))
else:
@@ -806,7 +806,7 @@ def save_download_movie(item):
logger.info("contentAction: %s | contentChannel: %s | contentTitle: %s" % (
item.contentAction, item.contentChannel, item.contentTitle))
progreso = platformtools.dialog_progress("Descargas", "Obteniendo datos de la pelicula")
progreso = platformtools.dialog_progress(config.get_localized_string(30101), config.get_localized_string(70191))
set_movie_title(item)
@@ -815,7 +815,7 @@ def save_download_movie(item):
progreso.close()
return save_download_video(item)
progreso.update(0, "Añadiendo pelicula...")
progreso.update(0, config.get_localized_string(60062))
item.downloadFilename = filetools.validate_path("%s [%s]" % (item.contentTitle.strip(), item.contentChannel))
@@ -823,7 +823,7 @@ def save_download_movie(item):
progreso.close()
if not platformtools.dialog_yesno(config.get_localized_string(30101), "¿Iniciar la descarga ahora?"):
if not platformtools.dialog_yesno(config.get_localized_string(30101), config.get_localized_string(70189)):
platformtools.dialog_ok(config.get_localized_string(30101), item.contentTitle,
config.get_localized_string(30109))
else:
@@ -834,17 +834,17 @@ def save_download_tvshow(item):
logger.info("contentAction: %s | contentChannel: %s | contentType: %s | contentSerieName: %s" % (
item.contentAction, item.contentChannel, item.contentType, item.contentSerieName))
progreso = platformtools.dialog_progress("Descargas", "Obteniendo datos de la serie")
progreso = platformtools.dialog_progress(config.get_localized_string(30101), config.get_localized_string(70188))
scraper.find_and_set_infoLabels(item)
item.downloadFilename = filetools.validate_path("%s [%s]" % (item.contentSerieName, item.contentChannel))
progreso.update(0, "Obteniendo episodios...", "conectando con %s..." % item.contentChannel)
progreso.update(0, config.get_localized_string(70186), config.get_localized_string(70187) % item.contentChannel)
episodes = get_episodes(item)
progreso.update(0, "Añadiendo capitulos...", " ")
progreso.update(0, config.get_localized_string(70190), " ")
for x, i in enumerate(episodes):
progreso.update(x * 100 / len(episodes),
@@ -852,7 +852,7 @@ def save_download_tvshow(item):
write_json(i)
progreso.close()
if not platformtools.dialog_yesno(config.get_localized_string(30101), "¿Iniciar la descarga ahora?"):
if not platformtools.dialog_yesno(config.get_localized_string(30101), config.get_localized_string(70189)):
platformtools.dialog_ok(config.get_localized_string(30101),
str(len(episodes)) + " capitulos de: " + item.contentSerieName,
config.get_localized_string(30109))

View File

@@ -54,8 +54,8 @@ def start(item, recomendaciones=[], from_window=False):
global SearchWindows
SearchWindows = list()
dialog = platformtools.dialog_progress("Cargando nuevos datos",
"Buscandoen Tmdb.......")
dialog = platformtools.dialog_progress(config.get_localized_string(60469),
config.get_localized_string(60470))
principal_window = main(item=item, recomendaciones=recomendaciones, dialog=dialog, from_window=from_window)
try:
@@ -101,7 +101,7 @@ class main(xbmcgui.WindowDialog):
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)
platformtools.dialog_notification(config.get_localized_string(60471), config.get_localized_string(60472) % tipo)
global mainWindow
self.close()
del mainWindow
@@ -113,7 +113,7 @@ class main(xbmcgui.WindowDialog):
if not self.infoLabels["tmdb_id"]:
self.dialog.close()
platformtools.dialog_notification("Sin resultados", "No hay info de la %s solicitada" % tipo)
platformtools.dialog_notification(config.get_localized_string(60473), config.get_localized_string(60474) % tipo)
global mainWindow
self.close()
del mainWindow
@@ -133,30 +133,30 @@ class main(xbmcgui.WindowDialog):
rating = "[COLOR crimson][B]%s[/B][/COLOR]" % self.infoLabels["rating"]
self.dialog.update(40,
'Registrando filmaffinity.......')
config.get_localized_string(60475))
rating_fa, plot_fa = get_filmaf(self.item, self.infoLabels)
if not self.infoLabels.get("plot") and plot_fa:
self.infoLabels["plot"] = "[COLOR moccasin][B]%s[/B][/COLOR]" % plot_fa
elif not self.infoLabels["plot"]:
self.infoLabels["plot"] = "[COLOR yellow][B]Esta pelicula no tiene informacion...[/B][/COLOR]"
self.infoLabels["plot"] = config.get_localized_string(60476)
else:
self.infoLabels["plot"] = "[COLOR moccasin][B]%s[/B][/COLOR]" % self.infoLabels.get("plot")
self.dialog.update(60, 'Indagando recomendaciones.......')
self.dialog.update(60, config.get_localized_string(60477))
thread1 = Thread(target=get_recomendations, args=[self.item, self.infoLabels, self.recomendaciones])
thread1.setDaemon(True)
thread1.start()
if self.infoLabels.get("status") == "Ended" and tipo == "serie":
status = "[COLOR aquamarine][B]Finalizada %s[/B][/COLOR]"
status = config.get_localized_string(60478)
elif self.infoLabels.get("status") and tipo == "serie":
status = "[COLOR aquamarine][B]En emisión %s[/B][/COLOR]"
status = config.get_localized_string(60479)
else:
status = "[COLOR aquamarine][B]%s[/B][/COLOR]"
if self.infoLabels.get("tagline") and tipo == "serie":
self.infoLabels["tagline"] = status % "(" + self.infoLabels["tagline"] + ")"
elif not self.infoLabels.get("tagline") and tipo == "serie":
self.infoLabels["tagline"] = status % "(Temporadas: %s)" % self.infoLabels.get("number_of_seasons",
self.infoLabels["tagline"] = status % config.get_localized_string(60480) % self.infoLabels.get("number_of_seasons",
"---")
else:
self.infoLabels["tagline"] = status % self.infoLabels.get("tagline", "")
@@ -184,7 +184,7 @@ class main(xbmcgui.WindowDialog):
if self.item.contentType != "movie":
self.dialog.update(60,
'Recopilando imágenes en FANART.TV')
config.get_localized_string(60481))
try:
###Busca música serie
titulo = re.sub('\[.*?\]', '', titulo)
@@ -210,9 +210,9 @@ class main(xbmcgui.WindowDialog):
logger.error(traceback.format_exc())
if xbmc.Player().isPlaying():
self.dialog.update(80, 'Afinado instrumentos en Vtunes')
self.dialog.update(80, config.get_localized_string(60482))
else:
self.dialog.update(80, 'Recopilando imágenes en FANART.TV')
self.dialog.update(80, config.get_localized_string(60483))
while thread2.isAlive():
xbmc.sleep(100)
@@ -337,7 +337,7 @@ class main(xbmcgui.WindowDialog):
[('conditional', 'effect=fade start=0% end=100% delay=2000 time=1500 condition=true',),
('WindowClose', 'effect=fade start=100% end=0% time=800 condition=true',)])
self.duration.setText(
"[COLOR mediumturquoise][B]Duración: %s minutos[/B][/COLOR]" % self.infoLabels["duration"])
config.get_localized_string(70252) % self.infoLabels["duration"])
self.addControl(self.rating)
if set_animation:
self.rating.setAnimations(
@@ -741,8 +741,8 @@ class main(xbmcgui.WindowDialog):
else:
for boton, peli, id, poster2 in self.idps:
if control == boton:
dialog = platformtools.dialog_progress("Cargando nueva info",
"Buscando en Tmdb.......")
dialog = platformtools.dialog_progress(config.get_localized_string(60486),
config.get_localized_string(60487))
tipo = self.item.contentType
if tipo != "movie":
tipo = "tv"
@@ -834,7 +834,7 @@ class related(xbmcgui.WindowDialog):
[('conditional', 'effect=slide delay=6000 start=2000 time=800 condition=true',),
('WindowClose', 'effect=slide end=0,-700% time=1000 condition=true',)])
self.info = "[COLOR lemonchiffon]%s[/COLOR]" % self.infoLabels.get("plot", "Sin información...")
self.info = "[COLOR lemonchiffon]%s[/COLOR]" % self.infoLabels.get("plot", config.get_localized_string(60488))
self.info_peli = xbmcgui.ControlTextBox(455, 120, 750, 234)
self.addControl(self.info_peli)
@@ -923,7 +923,7 @@ class related(xbmcgui.WindowDialog):
self.paist_peli = xbmcgui.ControlTextBox(210, 435, 400, 60, self.fonts["12"])
self.addControl(self.paist_peli)
self.paist_peli.setText("[COLOR limegreen][B]País: [/B][/COLOR]")
self.paist_peli.setText(config.get_localized_string(60490))
if set_animation:
self.paist_peli.setAnimations(
[('conditional', 'effect=slide start=0,-700 delay=5650 time=700 condition=true tween=circle easing=in',),
@@ -939,7 +939,7 @@ class related(xbmcgui.WindowDialog):
self.ft_peli = xbmcgui.ControlTextBox(210, 460, 1100, 60, self.fonts["12"])
self.addControl(self.ft_peli)
self.ft_peli.setText("[COLOR limegreen][B]Estreno: [/B][/COLOR]")
self.ft_peli.setText(config.get_localized_string(60491))
if set_animation:
self.ft_peli.setAnimations(
[('conditional', 'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
@@ -959,7 +959,7 @@ class related(xbmcgui.WindowDialog):
if self.infoLabels.get("number_of_seasons"):
self.seasons_txt = xbmcgui.ControlTextBox(210, 485, 200, 60, self.fonts["12"])
self.addControl(self.seasons_txt)
self.seasons_txt.setText("[COLOR limegreen][B]Temporadas/Episodios: [/B][/COLOR]")
self.seasons_txt.setText(config.get_localized_string(60492))
if set_animation:
self.seasons_txt.setAnimations([('conditional',
'effect=slide start=0,-700 delay=5600 time=700 condition=true tween=circle easing=in',),
@@ -1234,9 +1234,9 @@ class Busqueda(xbmcgui.WindowXMLDialog):
except:
pass
if self.item.contentType != "movie":
self.getControl(1).setLabel("[COLOR orange][B]¿Está la serie que buscas?[/B][/COLOR]")
self.getControl(1).setLabel(config.get_localized_string(60493))
else:
self.getControl(1).setLabel("[COLOR orange][B]¿Está la película que buscas?[/B][/COLOR]")
self.getControl(1).setLabel(config.get_localized_string(60494))
self.getControl(5).setLabel("[COLOR tomato][B]Cerrar[/B][/COLOR]")
self.control_list.reset()
@@ -1256,7 +1256,7 @@ class Busqueda(xbmcgui.WindowXMLDialog):
def onAction(self, action):
global BusquedaWindow
if (action == ACTION_SELECT_ITEM or action == 100) and self.getFocusId() == 6:
dialog = platformtools.dialog_progress_bg("Cargando resultados", "Espere........")
dialog = platformtools.dialog_progress_bg(config.get_localized_string(60496), config.get_localized_string(60497))
selectitem = self.getControl(6).getSelectedItem()
item = Item().fromurl(selectitem.getProperty("item_copy"))
exec "import channels." + item.channel + " as channel"
@@ -1289,8 +1289,8 @@ class GlobalSearch(xbmcgui.WindowXMLDialog):
except:
pass
self.getControl(1).setLabel("[COLOR orange][B]Selecciona...[/B][/COLOR]")
self.getControl(5).setLabel("[COLOR tomato][B]Cerrar[/B][/COLOR]")
self.getControl(1).setLabel(config.get_localized_string(60498))
self.getControl(5).setLabel(config.get_localized_string(60495))
self.control_list.reset()
if not self.lista:
global SearchWindows
@@ -1327,7 +1327,7 @@ class GlobalSearch(xbmcgui.WindowXMLDialog):
item = itemlist[0]
else:
ventana_error = xbmcgui.Dialog()
ok = ventana_error.ok("plugin", "No hay nada para reproducir")
ok = ventana_error.ok("plugin", config.get_localized_string(60500))
return
global BusquedaWindow, exit_loop, mainWindow, ActorInfoWindow, relatedWindow, ActoresWindow
@@ -1375,7 +1375,7 @@ class GlobalSearch(xbmcgui.WindowXMLDialog):
else:
try:
dialog = platformtools.dialog_progress_bg("Cargando resultados", "Espere........")
dialog = platformtools.dialog_progress_bg(config.get_localized_string(60496), config.get_localized_string(60497))
itemlist = getattr(channel, item.action)(item)
window = GlobalSearch('DialogSelect.xml', config.get_runtime_path(), itemlist=itemlist,
dialog=dialog)
@@ -1416,8 +1416,8 @@ class Actores(xbmcgui.WindowXMLDialog):
self.getControl(3).setVisible(0)
except:
pass
self.getControl(1).setLabel("[COLOR orange][B]Reparto[/B][/COLOR]")
self.getControl(5).setLabel("[COLOR red][B]Cerrar[/B][/COLOR]")
self.getControl(1).setLabel(config.get_localized_string(60501))
self.getControl(5).setLabel(config.get_localized_string(60495))
self.control_list.reset()
items = []
@@ -1470,8 +1470,8 @@ class Actores(xbmcgui.WindowXMLDialog):
name_info = selectitem.getProperty("name_info")
thumbnail = selectitem.getProperty("thumbnail")
job = selectitem.getProperty("job")
dialog = platformtools.dialog_progress("Cargando nuevos datos",
"Obteniendo datos del %s..." % job.lower())
dialog = platformtools.dialog_progress(config.get_localized_string(60502),
config.get_localized_string(60503) % job.lower())
global ActorInfoWindow
ActorInfoWindow = ActorInfo(id=id_actor, name=name_info, thumbnail=thumbnail, item=self.item,
@@ -1542,7 +1542,7 @@ class ActorInfo(xbmcgui.WindowDialog):
bio = dhe(scrapertools.htmlclean(info.strip()))
actor_tmdb.result["biography"] = bio
else:
actor_tmdb.result["biography"] = "Sin información"
actor_tmdb.result["biography"] = config.get_localized_string(60504)
elif not actor_tmdb.result.get("biography"):
actor_tmdb.result["biography"] = "Sin información"
@@ -1579,7 +1579,7 @@ class ActorInfo(xbmcgui.WindowDialog):
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")')
self.info_actor.setText(
"[COLOR coral][B]%s[/B][/COLOR]" % actor_tmdb.result.get("biography", "Sin información"))
"[COLOR coral][B]%s[/B][/COLOR]" % actor_tmdb.result.get("biography", config.get_localized_string(60504)))
self.titulos = []
tipo_busqueda = "cast"
@@ -1914,8 +1914,8 @@ class ActorInfo(xbmcgui.WindowDialog):
for boton, peli, id, poster2 in self.idps:
if control == boton:
dialog = platformtools.dialog_progress("Cargando nueva info",
"Buscando en Tmdb.......")
dialog = platformtools.dialog_progress(config.get_localized_string(60486),
config.get_localized_string(60487))
tipo = self.item.contentType
if tipo != "movie":
tipo = "tv"
@@ -2177,8 +2177,8 @@ class Trailer(xbmcgui.WindowXMLDialog):
def onInit(self):
self.setCoordinateResolution(0)
if not self.video_url:
platformtools.dialog_notification("[COLOR crimson][B]Error[/B][/COLOR]",
"[COLOR tomato]Vídeo no disponible[/COLOR]", 2)
platformtools.dialog_notification(config.get_localized_string(60507),
config.get_localized_string(60508), 2)
self.close()
elif self.video_url == "no_video":
self.close()

View File

@@ -11,7 +11,7 @@
{
"id": "multithread",
"type": "bool",
"label": "Buscar de manera concurrente (multiprocesos)",
"label": "@60656",
"default": true,
"enabled": true,
"visible": true
@@ -19,14 +19,14 @@
{
"id": "result_mode",
"type": "list",
"label": "Mostrar resultados:",
"label": "@60657",
"default": 2,
"enabled": true,
"visible": true,
"lvalues": [
"Agrupados por contenido",
"Agrupados por canales",
"Sin Agrupar"
"@60658",
"@60659",
"@60660"
]
},
{
@@ -37,11 +37,11 @@
"enabled": true,
"visible": true,
"lvalues": [
"Frio",
"Calido",
"Lila",
"Pastel",
"Vivos"
"@60667",
"@60668",
"@60669",
"@60670",
"@60671"
]
}
]

View File

@@ -48,69 +48,69 @@ def mainlist(item):
#if list_canales['peliculas']:
thumbnail = get_thumb("channels_movie.png")
new_item = Item(channel=item.channel, action="novedades", extra="peliculas", title="Películas",
new_item = Item(channel=item.channel, action="novedades", extra="peliculas", title=config.get_localized_string(30122),
thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
thumbnail = get_thumb("channels_movie_4k.png")
new_item = Item(channel=item.channel, action="novedades", extra="4k", title="Películas 4K", thumbnail=thumbnail)
new_item = Item(channel=item.channel, action="novedades", extra="4k", title=config.get_localized_string(70208), thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
#if list_canales['terror']:
thumbnail = get_thumb("channels_horror.png")
new_item = Item(channel=item.channel, action="novedades", extra="terror", title="Peliculas de miedo!",
new_item = Item(channel=item.channel, action="novedades", extra="terror", title=config.get_localized_string(70209),
thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
#if list_canales['infantiles']:
thumbnail = get_thumb("channels_children.png")
new_item = Item(channel=item.channel, action="novedades", extra="infantiles", title="Para niños",
new_item = Item(channel=item.channel, action="novedades", extra="infantiles", title=config.get_localized_string(60510),
thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
#if list_canales['series']:
thumbnail = get_thumb("channels_tvshow.png")
new_item = Item(channel=item.channel, action="novedades", extra="series", title="Episodios de series",
new_item = Item(channel=item.channel, action="novedades", extra="series", title=config.get_localized_string(60511),
thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
#if list_canales['anime']:
thumbnail = get_thumb("channels_anime.png")
new_item = Item(channel=item.channel, action="novedades", extra="anime", title="Episodios de anime",
new_item = Item(channel=item.channel, action="novedades", extra="anime", title=config.get_localized_string(60512),
thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
# if list_canales['Castellano']:
thumbnail = get_thumb("channels_spanish.png")
new_item = Item(channel=item.channel, action="novedades", extra="castellano", title="Castellano",
new_item = Item(channel=item.channel, action="novedades", extra="castellano", title=config.get_localized_string(70014),
thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
# if list_canales['Latino']:
thumbnail = get_thumb("channels_latino.png")
new_item = Item(channel=item.channel, action="novedades", extra="latino", title="Latino",
new_item = Item(channel=item.channel, action="novedades", extra="latino", title=config.get_localized_string(59976),
thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
# if list_canales['Torrent']:
thumbnail = get_thumb("channels_torrent.png")
new_item = Item(channel=item.channel, action="novedades", extra="torrent", title="Torrent", thumbnail=thumbnail)
new_item = Item(channel=item.channel, action="novedades", extra="torrent", title=config.get_localized_string(70171), thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
#if list_canales['documentales']:
thumbnail = get_thumb("channels_documentary.png")
new_item = Item(channel=item.channel, action="novedades", extra="documentales", title="Documentales",
new_item = Item(channel=item.channel, action="novedades", extra="documentales", title=config.get_localized_string(60513),
thumbnail=thumbnail)
set_category_context(new_item)
itemlist.append(new_item)
@@ -119,11 +119,11 @@ def mainlist(item):
def set_category_context(item):
item.context = [{"title": "Canales incluidos en: %s" % item.title,
item.context = [{"title": config.get_localized_string(60514) % item.title,
"extra": item.extra,
"action": "setting_channel",
"channel": item.channel}]
item.category = "Novedades en %s" % item.extra
item.category = config.get_localized_string(60679) % item.extra
def get_channels_list():
@@ -233,15 +233,15 @@ def novedades(item):
logger.info("multithread= " + str(multithread))
if not multithread:
if platformtools.dialog_yesno("Búsqueda concurrente desactivada",
"La búsqueda concurrente de novedades proporciona",
"una mayor velocidad y su desactivación solo es aconsejable en caso de fallo.",
"¿Desea activar la búsqueda concurrente ahora?"):
if platformtools.dialog_yesno(config.get_localized_string(60515),
config.get_localized_string(60516),
config.get_localized_string(60517),
config.get_localized_string(60518)):
if config.set_setting("multithread", True, "news"):
multithread = True
if mode == 'normal':
progreso = platformtools.dialog_progress(item.category, "Buscando canales...")
progreso = platformtools.dialog_progress(item.category, config.get_localized_string(60519))
list_canales, any_active = get_channels_list()
@@ -278,13 +278,13 @@ def novedades(item):
t.start()
threads.append(t)
if mode == 'normal':
progreso.update(percentage, "", "Buscando en '%s'..." % channel_title)
progreso.update(percentage, "", config.get_localized_string(60520) % channel_title)
# Modo single Thread
else:
if mode == 'normal':
logger.info("Obteniendo novedades de channel_id=" + channel_id)
progreso.update(percentage, "", "Buscando en '%s'..." % channel_title)
progreso.update(percentage, "", config.get_localized_string(60520) % channel_title)
get_newest(channel_id, item.extra)
# Modo Multi Thread: esperar q todos los hilos terminen
@@ -297,8 +297,8 @@ def novedades(item):
list_pendent_names = [a.getName() for a in pendent]
if mode == 'normal':
mensaje = "Buscando en %s" % (", ".join(list_pendent_names))
progreso.update(percentage, "Finalizado en %d/%d canales..." % (len(threads) - len(pendent), len(threads)),
mensaje = config.get_localized_string(30994) % (", ".join(list_pendent_names))
progreso.update(percentage, config.get_localized_string(60521) % (len(threads) - len(pendent), len(threads)),
mensaje)
logger.debug(mensaje)
@@ -309,7 +309,7 @@ def novedades(item):
time.sleep(0.5)
pendent = [a for a in threads if a.isAlive()]
if mode == 'normal':
mensaje = "Resultados obtenidos: %s | Tiempo: %2.f segundos" % (len(list_newest), time.time() - start_time)
mensaje = config.get_localized_string(60522) % (len(list_newest), time.time() - start_time)
progreso.update(100, mensaje, " ", " ")
logger.info(mensaje)
start_time = time.time()
@@ -494,9 +494,9 @@ def group_by_content(list_result_canal):
if len(canales_no_duplicados) > 1:
canales = ', '.join([i for i in canales_no_duplicados[:-1]])
title += " (En %s y %s)" % (canales, canales_no_duplicados[-1])
title += config.get_localized_string(70210) % (canales, canales_no_duplicados[-1])
else:
title += " (En %s)" % (', '.join([i for i in canales_no_duplicados]))
title += config.get_localized_string(70211) % (', '.join([i for i in canales_no_duplicados]))
new_item = v[0].clone(channel="news", title=title, action="show_channels",
sub_list=[i.tourl() for i in v], extra=channels_id_name)
@@ -533,47 +533,47 @@ def show_channels(item):
def menu_opciones(item):
itemlist = list()
itemlist.append(Item(channel=item.channel, title="Canales incluidos en:",
itemlist.append(Item(channel=item.channel, title=config.get_localized_string(60525),
thumbnail=get_thumb("setting_0.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="peliculas", title=" - Películas ",
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="peliculas", title=config.get_localized_string(60526),
thumbnail=get_thumb("channels_movie.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="4K", title=" - Películas 4K ",
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="4K", title=config.get_localized_string(70207),
thumbnail=get_thumb("channels_movie.png"), folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="infantiles", title=" - Para niños",
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="infantiles", title=config.get_localized_string(60527),
thumbnail=get_thumb("channels_children.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="series",
title=" - Episodios de series",
title=config.get_localized_string(60528),
thumbnail=get_thumb("channels_tvshow.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="anime",
title=" - Episodios de anime",
title=config.get_localized_string(60529),
thumbnail=get_thumb("channels_anime.png"),
folder=False))
itemlist.append(
Item(channel=item.channel, action="setting_channel", extra="castellano", title=" - Castellano",
Item(channel=item.channel, action="setting_channel", extra="castellano", title=config.get_localized_string(70212),
thumbnail=get_thumb("channels_documentary.png"), folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="latino", title=" - Latino",
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="latino", title=config.get_localized_string(70213),
thumbnail=get_thumb("channels_documentary.png"), folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="Torrent", title=" - Torrent",
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="Torrent", title=config.get_localized_string(70214),
thumbnail=get_thumb("channels_documentary.png"), folder=False))
itemlist.append(Item(channel=item.channel, action="setting_channel", extra="documentales",
title=" - Documentales",
title=config.get_localized_string(60530),
thumbnail=get_thumb("channels_documentary.png"),
folder=False))
itemlist.append(Item(channel=item.channel, action="settings", title="Otros ajustes",
itemlist.append(Item(channel=item.channel, action="settings", title=config.get_localized_string(60531),
thumbnail=get_thumb("setting_0.png"),
folder=False))
return itemlist
def settings(item):
return platformtools.show_channel_settings(caption="configuración -- Novedades")
return platformtools.show_channel_settings(caption=config.get_localized_string(60532))
def setting_channel(item):

View File

@@ -1,54 +1,56 @@
{
"id": "search",
"name": "Buscador global",
"active": false,
"adult": false,
"language": ["*"],
"categories": [
"movie"
],
"settings": [
{
"id": "multithread",
"type": "bool",
"label": "Buscador MultiThread",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "result_mode",
"type": "list",
"label": "Mostrar resultados:",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"Por canales",
"Todo junto"
]
},
{
"id": "saved_searches_limit",
"type": "list",
"label": "Busquedas guardadas:",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"10",
"20",
"30",
"40"
]
},
{
"id": "last_search",
"type": "bool",
"label": "Recordar última búsqueda",
"default": true,
"enabled": true,
"visible": true
}
]
{
"id": "search",
"name": "@60672",
"active": false,
"adult": false,
"language": [
"it"
],
"categories": [
"movie"
],
"settings": [
{
"id": "multithread",
"type": "bool",
"label": "@60673",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "result_mode",
"type": "list",
"label": "@60674",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"@60675",
"@60676"
]
},
{
"id": "saved_searches_limit",
"type": "list",
"label": "@60677",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"10",
"20",
"30",
"40"
]
},
{
"id": "last_search",
"type": "bool",
"label": "@60678",
"default": true,
"enabled": true,
"visible": true
}
]
}

View File

@@ -18,39 +18,39 @@ def mainlist(item):
item.channel = "search"
itemlist = list()
context = [{"title": "Elegir canales incluidos",
context = [{"title": config.get_localized_string(70273),
"action": "setting_channel",
"channel": item.channel}]
itemlist.append(Item(channel=item.channel, action="search",
title="Buscar por titulo", context=context,
title=config.get_localized_string(70276), context=context,
thumbnail=get_thumb("search.png")))
thumbnail = get_thumb("search_star.png")
itemlist.append(Item(channel='tvmoviedb', title="Buscar actor/actriz", action="search_",
itemlist.append(Item(channel='tvmoviedb', title=config.get_localized_string(59999), action="search_",
search={'url': 'search/person', 'language': 'es', 'page': 1}, star=True,
thumbnail=thumbnail))
itemlist.append(Item(channel=item.channel, action="search",
title="Buscar por categorias (búsqueda avanzada)", extra="categorias",
title=config.get_localized_string(59998), extra="categorias",
context=context,
thumbnail=get_thumb("search.png")))
itemlist.append(Item(channel=item.channel, action="opciones", title="Opciones",
itemlist.append(Item(channel=item.channel, action="opciones", title=config.get_localized_string(59997),
thumbnail=get_thumb("search.png")))
itemlist.append(Item(channel="tvmoviedb", action="mainlist", title="Búsqueda alternativa",
itemlist.append(Item(channel="tvmoviedb", action="mainlist", title=config.get_localized_string(70274),
thumbnail=get_thumb("search.png")))
saved_searches_list = get_saved_searches()
context2 = context[:]
context2.append({"title": "Borrar búsquedas guardadas",
context2.append({"title": config.get_localized_string(59996),
"action": "clear_saved_searches",
"channel": item.channel})
logger.info("saved_searches_list=%s" % saved_searches_list)
if saved_searches_list:
itemlist.append(Item(channel=item.channel, action="",
title="Búsquedas guardadas:", context=context2,
title=config.get_localized_string(59995), context=context2,
thumbnail=get_thumb("search.png")))
for saved_search_text in saved_searches_list:
itemlist.append(Item(channel=item.channel, action="do_search",
@@ -65,17 +65,17 @@ def mainlist(item):
def opciones(item):
itemlist = list()
itemlist.append(Item(channel=item.channel, action="setting_channel",
title="Elegir canales incluidos en la búsqueda", folder=False,
title=config.get_localized_string(59994), folder=False,
thumbnail=get_thumb("search.png")))
itemlist.append(Item(channel=item.channel, action="clear_saved_searches", title="Borrar búsquedas guardadas",
itemlist.append(Item(channel=item.channel, action="clear_saved_searches", title=config.get_localized_string(59996),
folder=False, thumbnail=get_thumb("search.png")))
itemlist.append(Item(channel=item.channel, action="settings", title="Otros ajustes", folder=False,
itemlist.append(Item(channel=item.channel, action="settings", title=config.get_localized_string(60531), folder=False,
thumbnail=get_thumb("search.png")))
return itemlist
def settings(item):
return platformtools.show_channel_settings(caption="configuración -- Buscador")
return platformtools.show_channel_settings(caption=config.get_localized_string(59993))
def setting_channel(item):
@@ -119,12 +119,12 @@ def setting_channel(item):
list_controls.append(control)
if config.get_setting("custom_button_value", item.channel):
custom_button_label = "Ninguno"
custom_button_label = config.get_localized_string(59992)
else:
custom_button_label = "Todos"
custom_button_label = config.get_localized_string(59991)
return platformtools.show_channel_settings(list_controls=list_controls,
caption="Canales incluidos en la búsqueda",
caption=config.get_localized_string(59990),
callback="save_settings", item=item,
custom_button={'visible': True,
'function': "cb_custom_button",
@@ -133,10 +133,10 @@ def setting_channel(item):
def save_settings(item, dict_values):
progreso = platformtools.dialog_progress("Guardando configuración...", "Espere un momento por favor.")
progreso = platformtools.dialog_progress(config.get_localized_string(59988), config.get_localized_string(59989))
n = len(dict_values)
for i, v in enumerate(dict_values):
progreso.update((i * 100) / n, "Guardando configuración...")
progreso.update((i * 100) / n, config.get_localized_string(59988))
config.set_setting("include_in_global_search", dict_values[v], v)
progreso.close()
@@ -151,9 +151,9 @@ def cb_custom_button(item, dict_values):
dict_values[v] = not value
if config.set_setting("custom_button_value", not value, item.channel) == True:
return {"label": "Ninguno"}
return {"label": config.get_localized_string(59992)}
else:
return {"label": "Todos"}
return {"label": config.get_localized_string(59991)}
def searchbycat(item):
@@ -181,13 +181,13 @@ def searchbycat(item):
list_controls.append(control)
control = {'id': "torrent",
'type': "bool",
'label': 'Incluir en la búsqueda canales Torrent',
'label': config.get_localized_string(70275),
'default': True,
'enabled': True,
'visible': True}
list_controls.append(control)
return platformtools.show_channel_settings(list_controls=list_controls, caption="Elegir categorías",
return platformtools.show_channel_settings(list_controls=list_controls, caption=config.get_localized_string(59974),
callback="search_cb", item=item)
@@ -229,7 +229,7 @@ def show_result(item):
tecleado = None
if item.adult and config.get_setting("adult_request_password"):
# Solicitar contraseña
tecleado = platformtools.dialog_input("", "Contraseña para canales de adultos", True)
tecleado = platformtools.dialog_input("", config.get_localized_string(60334), True)
if tecleado is None or tecleado != config.get_setting("adult_password"):
return []
@@ -288,7 +288,7 @@ def do_search(item, categories=None):
if item.contextual==True:
categories = ["Películas"]
setting_item = Item(channel=item.channel, title="Elegir canales incluidos en la búsqueda", folder=False,
setting_item = Item(channel=item.channel, title=config.get_localized_string(59994), folder=False,
thumbnail=get_thumb("search.png"))
setting_channel(setting_item)
@@ -315,7 +315,7 @@ def do_search(item, categories=None):
# Para Kodi es necesario esperar antes de cargar el progreso, de lo contrario
# el cuadro de progreso queda "detras" del cuadro "cargando..." y no se le puede dar a cancelar
time.sleep(0.5)
progreso = platformtools.dialog_progress("Buscando '%s'..." % tecleado, "")
progreso = platformtools.dialog_progress(config.get_localized_string(30993) % tecleado, "")
channel_files = sorted(glob.glob(channels_path), key=lambda x: os.path.basename(x))
import math
@@ -396,7 +396,7 @@ def do_search(item, categories=None):
logger.info("%s incluido en la búsqueda" % basename_without_extension)
progreso.update(percentage,
"Buscando en %s..." % channel_parameters["title"])
config.get_localized_string(60520) % channel_parameters["title"])
except:
logger.error("No se puede buscar en: %s" % channel_parameters["title"])
@@ -417,7 +417,7 @@ def do_search(item, categories=None):
list_pendent_names = [a.getName() for a in pendent]
mensaje = "Buscando en %s" % (", ".join(list_pendent_names))
progreso.update(percentage, "Finalizado en %d/%d canales..." % (len(threads) - len(pendent), len(threads)),
progreso.update(percentage, config.get_localized_string(60521) % (len(threads) - len(pendent), len(threads)),
mensaje)
logger.debug(mensaje)
@@ -460,7 +460,7 @@ def do_search(item, categories=None):
itemlist.append(i.clone(title=title, from_action=i.action, from_channel=i.channel,
channel="search", action="show_result", adult=element["adult"]))
title = "Buscando: '%s' | Encontrado: %d vídeos | Tiempo: %2.f segundos" % (
title = config.get_localized_string(59972) % (
tecleado, total, time.time() - start_time)
itemlist.insert(0, Item(title=title, text_color='yellow'))
@@ -506,7 +506,7 @@ def save_search(text):
def clear_saved_searches(item):
config.set_setting("saved_searches_list", list(), "search")
platformtools.dialog_ok("Buscador", "Búsquedas borradas correctamente")
platformtools.dialog_ok(config.get_localized_string(60329), config.get_localized_string(60424))
def get_saved_searches():

File diff suppressed because it is too large Load Diff

View File

@@ -4,19 +4,16 @@ from core import httptools
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import logger
from platformcode import config, logger
def mainlist(item):
logger.info()
itemlist = []
itemlist.append(Item(channel=item.channel, action="search",
title="Entra aquí y teclea la URL [Enlace a servidor online/descarga]"))
itemlist.append(
Item(channel=item.channel, action="search", title="Entra aquí y teclea la URL [Enlace directo a un vídeo]"))
itemlist.append(Item(channel=item.channel, action="search",
title="Entra aquí y teclea la URL [Búsqueda de enlaces en una url]"))
itemlist.append(Item(channel=item.channel, action="search", title=config.get_localized_string(60089)))
itemlist.append(Item(channel=item.channel, action="search", title=config.get_localized_string(60090)))
itemlist.append(Item(channel=item.channel, action="search", title=config.get_localized_string(60091)))
return itemlist
@@ -36,8 +33,7 @@ def search(item, texto):
item.channel = "url"
item.action = "play"
elif "directo" in item.title:
itemlist.append(
Item(channel=item.channel, action="play", url=texto, server="directo", title="Ver enlace directo"))
itemlist.append(Item(channel=item.channel, action="play", url=texto, server="directo", title=config.get_localized_string(60092)))
else:
data = httptools.downloadpage(texto).data
itemlist = servertools.find_video_items(data=data)
@@ -46,6 +42,6 @@ def search(item, texto):
item.action = "play"
if len(itemlist) == 0:
itemlist.append(Item(channel=item.channel, action="search", title="No hay ningún vídeo compatible en esa URL"))
itemlist.append(Item(channel=item.channel, action="search", title=config.get_localized_string(60093)))
return itemlist

View File

@@ -8,38 +8,38 @@
{
"id": "update",
"type": "list",
"label": "Actualizar la videoteca",
"label": "@60601",
"default": 1,
"visible": true,
"lvalues": [
"Nunca",
"Al iniciar Kodi",
"Una sola vez al día",
"Al iniciar Kodi y al menos una vez al día"
"@60602",
"@60603",
"@60604",
"@60605"
]
},
{
"id": "update_wait",
"type": "list",
"label": " Esperar antes de actualizar al iniciar kodi",
"label": "@60606",
"default": 0,
"visible": true,
"enabled": "eq(-1,Al iniciar Kodi)|eq(-1,Al iniciar Kodi y al menos una vez al día)",
"enabled": "eq(-1,@60603])|eq(-1,@60605])",
"lvalues": [
"No",
"10 seg",
"20 seg",
"30 seg",
"60 seg"
"@60609",
"@60610",
"@60611",
"@60612"
]
},
{
"id": "everyday_delay",
"type": "list",
"label": " Iniciar actualización programada a partir de las",
"label": "@60613",
"default": 1,
"visible": true,
"enabled": "eq(-2,Una sola vez al día)|eq(-2,Al iniciar Kodi y al menos una vez al día)",
"enabled": "eq(-2,@60604])|eq(-2,@60605])",
"lvalues": [
"00:00",
"04:00",
@@ -50,37 +50,37 @@
{
"id": "updatetvshows_interval",
"type": "list",
"label": " Buscar nuevos episodios en las series activas",
"label": "@60614",
"default": 0,
"visible": true,
"enabled": "!eq(-3,Nunca)",
"enabled": "!eq(-3,@60615])",
"lvalues": [
"Siempre",
"Según su emisión"
"@60616",
"@60617"
]
},
{
"id": "search_new_content",
"type": "list",
"label": " Realizar búsqueda de contenido en",
"label": "@60618",
"default": 0,
"enabled": "!eq(-4,Nunca)",
"enabled": "!eq(-4,@60615])",
"lvalues": [
"La carpeta de cada serie",
"Toda la videoteca"
"@60619",
"@60620"
]
},
{
"id": "addition",
"type": "label",
"label": "Añadir a la videoteca",
"label": "@70092",
"enabled": true,
"visible": true
},
{
"id": "enable_filter",
"type": "bool",
"label": " Excluir los streams que contienen etiquetas específicas",
"label": "@70090",
"enabled": true,
"visible": true,
"default": false
@@ -88,31 +88,32 @@
{
"id": "filters",
"type": "text",
"label": " Etiquetas",
"label": "@70091",
"visible": true,
"enabled": "eq(-1,true)"
},
{
"id": "window_type",
"type": "list",
"label": "Mostrar los enlaces en",
"default": 1,
"label": "@60621",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"Ventana convencional",
"Ventana emergente"
"@60622",
"@60623"
]
},
{
"id": "max_links",
"type": "list",
"label": " Numero máximo de enlaces a mostrar (recomendable para equipos lentos)",
"label": "@60624",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"Todos",
"@60625",
"30",
"60",
"90",
@@ -125,7 +126,7 @@
{
"id": "white_list_order",
"type": "bool",
"label": " Ordenar segun el orden de la lista blanca",
"label": "@60626",
"enabled": true,
"visible": true,
"default": false
@@ -133,7 +134,7 @@
{
"id": "quit_channel_name",
"type": "bool",
"label": " Quitar el nombre del canal del principio",
"label": "@60627",
"enabled": true,
"visible": true,
"default": false
@@ -141,7 +142,7 @@
{
"id": "replace_VD",
"type": "bool",
"label": " Ventana emergente: Reemplazar \"Ver en\" por \"[V]\" y \"Descargar en\" por \"[D]\"",
"label": "@60628",
"enabled": true,
"visible": true,
"default": false
@@ -149,33 +150,33 @@
{
"id": "db_mode",
"type": "list",
"label": "Ubicación de Base de datos",
"label": "@60629",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"Local",
"Remota"
"@60630",
"@60631"
]
},
{
"id": "xbmc_host",
"type": "text",
"label": " Nombre Servidor",
"label": "@60632",
"visible": true,
"enabled": "eq(-1,Remota)"
},
{
"id": "xbmc_puerto",
"type": "text",
"label": " Puerto Servidor",
"label": "@60633",
"enabled": "!eq(-1,'')",
"visible": true
},
{
"id": "mark_as_watched",
"type": "bool",
"label": "Marcar automáticamente como visto",
"label": "@60634",
"default": true,
"enabled": true,
"visible": true
@@ -183,7 +184,7 @@
{
"id": "watched_setting",
"type": "list",
"label": " Tiempo necesario del video",
"label": "@60635",
"default": 3,
"visible": true,
"enabled": "eq(-1,true)",
@@ -192,20 +193,20 @@
"30%",
"50%",
"80%",
"0 seg"
"@60636"
]
},
{
"id": "sync_trakt",
"type": "label",
"label": "Sincronización con Trakt",
"label": "@60637",
"enabled": true,
"visible": true
},
{
"id": "sync_trakt_watched",
"type": "bool",
"label": " Tras marcar como visto el episodio",
"label": "@60638",
"default": false,
"visible": true,
"enabled": "eq(-3,true)"
@@ -213,7 +214,7 @@
{
"id": "sync_trakt_notification",
"type": "bool",
"label": " Mostrar notificación",
"label": "@60639",
"default": true,
"visible": true,
"enabled": "eq(-1,true)"
@@ -221,7 +222,7 @@
{
"id": "sync_trakt_new_tvshow",
"type": "bool",
"label": " Al añadir una serie a la videoteca",
"label": "@60640",
"default": false,
"enabled": true,
"visible": true
@@ -229,7 +230,7 @@
{
"id": "sync_trakt_new_tvshow_wait",
"type": "bool",
"label": " Esperar a que se añada la serie a la videoteca",
"label": "@60641",
"default": true,
"visible": true,
"enabled": "eq(-1,true)"
@@ -237,57 +238,47 @@
{
"id": "show_all_seasons",
"type": "bool",
"label": "Mostrar la opción \"Todas las temporadas\"",
"label": "@60642",
"default": true
},
{
"id": "no_pile_on_seasons",
"type": "list",
"label": "No apilar temporadas de series",
"label": "@60643",
"default": 1,
"lvalues": [
"Nunca",
"Sólo si hay una temporada",
"Siempre"
"@60648",
"@60644",
"@60616"
]
},
{
"id": "ask_channel",
"type": "bool",
"label": "Mostrar cuadro de selección de canales",
"label": "@60645",
"default": false
},
{
"id": "original_title_folder",
"type": "list",
"label": "Crear directorios en el sistema usando",
"label": "@60646",
"default": 0,
"lvalues": [
"Título localizado",
"Título original"
]
},
{
"id": "lowerize_title",
"type": "list",
"label": "Crear directorios con letras en miúsculas",
"default": 0,
"lvalues": [
"Si",
"No"
"@60647",
"@60649"
]
},
{
"id": "lab_1",
"type": "label",
"label": "Al añadir contenido, obtener información de:",
"label": "@60650",
"enabled": true,
"visible": true
},
{
"id": "scraper_movies",
"type": "list",
"label": " Peliculas:",
"label": "@60651",
"enabled": false,
"default": 0,
"lvalues": [
@@ -298,7 +289,7 @@
{
"id": "scraper_tvshows",
"type": "list",
"label": " Series:",
"label": "@60652",
"default": 0,
"lvalues": [
"TheMovieDB.org",
@@ -308,7 +299,7 @@
{
"id": "tvdb_retry_eng",
"type": "bool",
"label": " Si no hay resultados buscar también en Inglés",
"label": "@60653",
"default": true,
"enabled": "eq(-1,TheTvDB.com)",
"visible": true

View File

@@ -15,10 +15,10 @@ def mainlist(item):
logger.info()
itemlist = list()
itemlist.append(Item(channel=item.channel, action="list_movies", title="Películas",
itemlist.append(Item(channel=item.channel, action="list_movies", title=config.get_localized_string(60509),
category="Videoteca de películas",
thumbnail=get_thumb("videolibrary_movie.png")))
itemlist.append(Item(channel=item.channel, action="list_tvshows", title="Series",
itemlist.append(Item(channel=item.channel, action="list_tvshows", title=config.get_localized_string(60600),
category="Videoteca de series",
thumbnail=get_thumb("videolibrary_tvshow.png")))
@@ -28,7 +28,7 @@ def mainlist(item):
def channel_config(item):
return platformtools.show_channel_settings(channelpath=os.path.join(config.get_runtime_path(), "channels",
item.channel),
caption="configuración -- Videoteca")
caption=config.get_localized_string(60598))
def list_movies(item):
@@ -54,10 +54,10 @@ def list_movies(item):
visto = new_item.library_playcounts.get(os.path.splitext(f)[0], 0)
new_item.infoLabels["playcount"] = visto
if visto > 0:
texto_visto = "Marcar película como no vista"
texto_visto = config.get_localized_string(60016)
contador = 0
else:
texto_visto = "Marcar película como vista"
texto_visto = config.get_localized_string(60017)
contador = 1
# Menu contextual: Eliminar serie/canal
@@ -65,10 +65,10 @@ def list_movies(item):
if "downloads" in new_item.library_urls:
num_canales -= 1
if num_canales > 1:
texto_eliminar = "Eliminar película/canal"
texto_eliminar = config.get_localized_string(60018)
multicanal = True
else:
texto_eliminar = "Eliminar esta película"
texto_eliminar = config.get_localized_string(60019)
multicanal = False
new_item.context = [{"title": texto_visto,
@@ -107,19 +107,19 @@ def list_tvshows(item):
visto = item_tvshow.library_playcounts.get(item_tvshow.contentTitle, 0)
item_tvshow.infoLabels["playcount"] = visto
if visto > 0:
texto_visto = "Marcar serie como no vista"
texto_visto = config.get_localized_string(60020)
contador = 0
else:
texto_visto = "Marcar serie como vista"
texto_visto = config.get_localized_string(60021)
contador = 1
# Menu contextual: Buscar automáticamente nuevos episodios o no
if item_tvshow.active and int(item_tvshow.active) > 0:
texto_update = "Buscar automáticamente nuevos episodios: Desactivar"
texto_update = config.get_localized_string(60022)
value = 0
item_tvshow.text_color = "green"
else:
texto_update = "Buscar automáticamente nuevos episodios: Activar"
texto_update = config.get_localized_string(60023)
value = 1
item_tvshow.text_color = "0xFFDF7401"
@@ -128,10 +128,10 @@ def list_tvshows(item):
if "downloads" in item_tvshow.library_urls:
num_canales -= 1
if num_canales > 1:
texto_eliminar = "Eliminar serie/canal"
texto_eliminar = config.get_localized_string(60024)
multicanal = True
else:
texto_eliminar = "Eliminar esta serie"
texto_eliminar = config.get_localized_string(60025)
multicanal = False
item_tvshow.context = [{"title": texto_visto,
@@ -160,7 +160,7 @@ def list_tvshows(item):
itemlist = sorted(itemlist, key=lambda it: it.title.lower())
itemlist.append(Item(channel=item.channel, action="update_videolibrary", thumbnail=item.thumbnail,
title="Buscar nuevos episodios y actualizar videoteca", folder=False))
title=config.get_localized_string(60026), folder=False))
return itemlist
@@ -182,7 +182,7 @@ def get_seasons(item):
for f in ficheros:
if f.endswith('.json'):
season = f.split('x')[0]
dict_temp[season] = "Temporada %s" % season
dict_temp[season] = config.get_localized_string(60027) % season
if config.get_setting("no_pile_on_seasons", "videolibrary") == 1 and len(
dict_temp) == 1: # Sólo si hay una temporada
@@ -205,10 +205,10 @@ def get_seasons(item):
visto = item_nfo.library_playcounts.get("season %s" % season, 0)
new_item.infoLabels["playcount"] = visto
if visto > 0:
texto = "Marcar temporada como no vista"
texto = config.get_localized_string(60028)
value = 0
else:
texto = "Marcar temporada como vista"
texto = config.get_localized_string(60029)
value = 1
new_item.context = [{"title": texto,
"action": "mark_season_as_watched",
@@ -222,7 +222,7 @@ def get_seasons(item):
itemlist = sorted(itemlist, key=lambda it: int(it.contentSeason))
if config.get_setting("show_all_seasons", "videolibrary"):
new_item = item.clone(action="get_episodes", title="*Todas las temporadas")
new_item = item.clone(action="get_episodes", title=config.get_localized_string(60030))
new_item.infoLabels["playcount"] = 0
itemlist.insert(0, new_item)
@@ -260,7 +260,7 @@ def get_episodes(item):
if epi.contentTitle:
title_episodie = epi.contentTitle.strip()
else:
title_episodie = "Temporada %s Episodio %s" % \
title_episodie = config.get_localized_string(60031) % \
(epi.contentSeason, str(epi.contentEpisodeNumber).zfill(2))
epi.contentTitle = "%sx%s" % (epi.contentSeason, str(epi.contentEpisodeNumber).zfill(2))
@@ -273,10 +273,10 @@ def get_episodes(item):
visto = item_nfo.library_playcounts.get(season_episode, 0)
epi.infoLabels["playcount"] = visto
if visto > 0:
texto = "Marcar episodio como no visto"
texto = config.get_localized_string(60032)
value = 0
else:
texto = "Marcar episodio como visto"
texto = config.get_localized_string(60033)
value = 1
epi.context = [{"title": texto,
"action": "mark_content_as_watched",
@@ -343,8 +343,8 @@ def findvideos(item):
filtro_canal = ''
if num_canales > 1 and config.get_setting("ask_channel", "videolibrary"):
opciones = ["Mostrar solo los enlaces de %s" % k.capitalize() for k in list_canales.keys()]
opciones.insert(0, "Mostrar todos los enlaces")
opciones = [config.get_localized_string(70089) % k.capitalize() for k in list_canales.keys()]
opciones.insert(0, config.get_localized_string(70083))
if item_local:
opciones.append(item_local.title)
@@ -358,7 +358,7 @@ def findvideos(item):
platformtools.play_video(item_local)
elif index > 0:
filtro_canal = opciones[index].replace("Mostrar solo los enlaces de ", "")
filtro_canal = opciones[index].replace(config.get_localized_string(70078), "")
itemlist = []
for nom_canal, json_path in list_canales.items():
@@ -458,7 +458,7 @@ def play(item):
v.title = item.contentTitle
else:
if item.contentType == "episode":
v.title = "Episodio %s" % item.contentEpisodeNumber
v.title = config.get_localized_string(60036) % item.contentEpisodeNumber
v.thumbnail = item.thumbnail
v.contentThumbnail = item.thumbnail
@@ -490,8 +490,8 @@ def update_tvshow(item):
logger.info()
# logger.debug("item:\n" + item.tostring('\n'))
heading = 'Actualizando serie....'
p_dialog = platformtools.dialog_progress_bg('alfa', heading)
heading = config.get_localized_string(60037)
p_dialog = platformtools.dialog_progress_bg(config.get_localized_string(20000), heading)
p_dialog.update(0, heading, item.contentSerieName)
import videolibrary_service
@@ -680,13 +680,13 @@ def delete(item):
# logger.debug(item.tostring('\n'))
if item.contentType == 'movie':
heading = "Eliminar película"
heading = config.get_localized_string(70084)
else:
heading = "Eliminar serie"
heading = config.get_localized_string(70085)
if item.multicanal:
# Obtener listado de canales
opciones = ["Eliminar solo los enlaces de %s" % k.capitalize() for k in item.library_urls.keys() if
opciones = [config.get_localized_string(70086) % k.capitalize() for k in item.library_urls.keys() if
k != "downloads"]
opciones.insert(0, heading)
@@ -698,7 +698,7 @@ def delete(item):
elif index > 0:
# Seleccionado Eliminar canal X
canal = opciones[index].replace("Eliminar solo los enlaces de ", "").lower()
canal = opciones[index].replace(config.get_localized_string(70079), "").lower()
num_enlaces = 0
for fd in filetools.listdir(item.path):
@@ -712,14 +712,14 @@ def delete(item):
del item_nfo.library_urls[canal]
filetools.write(item.nfo, head_nfo + item_nfo.tojson())
msg_txt = "Eliminados %s enlaces del canal %s" % (num_enlaces, canal)
msg_txt = config.get_localized_string(70087) % (num_enlaces, canal)
logger.info(msg_txt)
platformtools.dialog_notification(heading, msg_txt)
platformtools.itemlist_refresh()
else:
if platformtools.dialog_yesno(heading,
"¿Realmente desea eliminar '%s' de su videoteca?" % item.infoLabels['title']):
config.get_localized_string(70088) % item.infoLabels['title']):
delete_all(item)

1092
plugin.video.alfa/core/downloader.py Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -21,10 +21,10 @@ def find_and_set_infoLabels(item):
scraper = None
# logger.debug("item:\n" + item.tostring('\n'))
list_opciones_cuadro = ["Introducir otro nombre", "Completar información"]
list_opciones_cuadro = [config.get_localized_string(60223), config.get_localized_string(60224)]
# Si se añaden más scrapers hay q declararlos aqui-> "modulo_scraper": "Texto_en_cuadro"
scrapers_disponibles = {'tmdb': "Buscar en TheMovieDB.org",
'tvdb': "Buscar en TheTvDB.com"}
scrapers_disponibles = {'tmdb': config.get_localized_string(60225),
'tvdb': config.get_localized_string(60226)}
# Obtener el Scraper por defecto de la configuracion segun el tipo de contenido
if item.contentType == "movie":
@@ -63,10 +63,10 @@ def find_and_set_infoLabels(item):
return True
elif scraper_result:
# Contenido encontrado pero no hay 'code'
msg = "Identificador no encontrado para: %s" % title
msg = config.get_localized_string(60227) % title
else:
# Contenido no encontrado
msg = "No se ha encontrado informacion para: %s" % title
msg = config.get_localized_string(60228) % title
logger.info(msg)
# Mostrar cuadro con otras opciones:
@@ -80,7 +80,7 @@ def find_and_set_infoLabels(item):
elif index == 0:
# Pregunta el titulo
title = platformtools.dialog_input(title, "Introduzca el nombre de la %s a buscar" % tipo_contenido)
title = platformtools.dialog_input(title, config.get_localized_string(60229) % tipo_contenido)
if title:
if item.contentType == "movie":
item.contentTitle = title
@@ -125,19 +125,19 @@ def cuadro_completar(item):
COLOR = ["0xFF8A4B08", "0xFFF7BE81"]
# Creamos la lista de campos del infoLabel
controls = [("title", "text", "Titulo:"),
("originaltitle", "text", "Titulo original"),
("year", "text", "Año"),
("identificadores", "label", "Identificadores:"),
("tmdb_id", "text", " The Movie Database ID"),
("url_tmdb", "text", " URL Tmdb", "+!eq(-1,'')"),
("tvdb_id", "text", " The TVDB ID", "+eq(-7,'Serie')"),
("url_tvdb", "text", " URL TVDB", "+!eq(-1,'')+eq(-8,'Serie')"),
("imdb_id", "text", " IMDb ID"),
("otro_id", "text", " Otro ID", "+eq(-1,'')"),
("urls", "label", "Imágenes (urls):"),
("fanart", "text", " Fondo"),
("thumbnail", "text", " Miniatura")]
controls = [("title", "text", config.get_localized_string(60230)),
("originaltitle", "text", config.get_localized_string(60231)),
("year", "text", config.get_localized_string(60232)),
("identificadores", "label", config.get_localized_string(60233)),
("tmdb_id", "text", config.get_localized_string(60234)),
("url_tmdb", "text", config.get_localized_string(60235), "+!eq(-1,'')"),
("tvdb_id", "text", config.get_localized_string(60236), "+eq(-7,'Serie')"),
("url_tvdb", "text", config.get_localized_string(60237), "+!eq(-1,'')+eq(-8,'Serie')"),
("imdb_id", "text", config.get_localized_string(60238)),
("otro_id", "text", config.get_localized_string(60239), "+eq(-1,'')"),
("urls", "label", config.get_localized_string(60240)),
("fanart", "text", config.get_localized_string(60241)),
("thumbnail", "text", config.get_localized_string(60242))]
if item.infoLabels["mediatype"] == "movie":
mediatype_default = 0
@@ -146,12 +146,12 @@ def cuadro_completar(item):
listado_controles = [{'id': "mediatype",
'type': "list",
'label': "Tipo de contenido",
'label': config.get_localized_string(60243),
'color': COLOR[1],
'default': mediatype_default,
'enabled': True,
'visible': True,
'lvalues': ["Película", "Serie"]
'lvalues': [config.get_localized_string(60244), config.get_localized_string(60245)]
}]
for i, c in enumerate(controls):
@@ -188,7 +188,7 @@ def cuadro_completar(item):
'visible': True})
# logger.debug(dict_default)
if platformtools.show_channel_settings(list_controls=listado_controles, caption="Completar información", item=item,
if platformtools.show_channel_settings(list_controls=listado_controles, caption=config.get_localized_string(60246), item=item,
callback="core.scraper.callback_cuadro_completar",
custom_button={"visible": False}):
return True
@@ -263,7 +263,6 @@ def get_nfo(item):
def sort_episode_list(episodelist):
episodelist.sort(key=lambda e: e.title, reverse=True)
scraper_actual = ['tmdb', 'tvdb'][config.get_setting("scraper_tvshows", "videolibrary")]
if scraper_actual == "tmdb":

View File

@@ -116,7 +116,7 @@ def save_movie(item):
_id = item.infoLabels['code'][0]
# progress dialog
p_dialog = platformtools.dialog_progress('alfa', 'Añadiendo película...')
p_dialog = platformtools.dialog_progress(config.get_localized_string(20000), config.get_localized_string(60062))
if config.get_setting("original_title_folder", "videolibrary") == 1 and item.infoLabels['originaltitle']:
base_name = item.infoLabels['originaltitle']
@@ -197,7 +197,7 @@ def save_movie(item):
# Si llegamos a este punto es por q algo ha fallado
logger.error("No se ha podido guardar %s en la videoteca" % item.contentTitle)
p_dialog.update(100, 'Fallo al añadir...', item.contentTitle)
p_dialog.update(100, config.get_localized_string(60063), item.contentTitle)
p_dialog.close()
return 0, 0, -1
@@ -366,8 +366,8 @@ def save_episodes(path, episodelist, serie, silent=False, overwrite=True):
# Silent es para no mostrar progreso (para videolibrary_service)
if not silent:
# progress dialog
p_dialog = platformtools.dialog_progress('alfa', 'Añadiendo episodios...')
p_dialog.update(0, 'Añadiendo episodio...')
p_dialog = platformtools.dialog_progress(config.get_localized_string(20000), config.get_localized_string(60064))
p_dialog.update(0, config.get_localized_string(60065))
new_episodelist = []
# Obtenemos el numero de temporada y episodio y descartamos los q no lo sean
@@ -616,21 +616,20 @@ def add_tvshow(item, channel=None):
insertados, sobreescritos, fallidos, path = save_tvshow(item, itemlist)
if not insertados and not sobreescritos and not fallidos:
platformtools.dialog_ok("Videoteca", "ERROR, la serie NO se ha añadido a la videoteca",
"No se ha podido obtener ningun episodio")
platformtools.dialog_ok(config.get_localized_string(30131), config.get_localized_string(60067))
logger.error("La serie %s no se ha podido añadir a la videoteca. No se ha podido obtener ningun episodio"
% item.show)
elif fallidos == -1:
platformtools.dialog_ok("Videoteca", "ERROR, la serie NO se ha añadido a la videoteca")
platformtools.dialog_ok(config.get_localized_string(30131), config.get_localized_string(60068))
logger.error("La serie %s no se ha podido añadir a la videoteca" % item.show)
elif fallidos > 0:
platformtools.dialog_ok("Videoteca", "ERROR, la serie NO se ha añadido completa a la videoteca")
platformtools.dialog_ok(config.get_localized_string(30131), config.get_localized_string(60069))
logger.error("No se han podido añadir %s episodios de la serie %s a la videoteca" % (fallidos, item.show))
else:
platformtools.dialog_ok("Videoteca", "La serie se ha añadido a la videoteca")
platformtools.dialog_ok(config.get_localized_string(30131), config.get_localized_string(60070))
logger.info("Se han añadido %s episodios de la serie %s a la videoteca" %
(insertados, item.show))
if config.is_xbmc():

View File

@@ -134,13 +134,13 @@ def open_settings():
if settings_post['adult_aux_new_password1'] == settings_post['adult_aux_new_password2']:
set_setting('adult_password', settings_post['adult_aux_new_password1'])
else:
platformtools.dialog_ok("Canales para adultos",
"Los campos 'Nueva contraseña' y 'Confirmar nueva contraseña' no coinciden."
, "Entre de nuevo en 'Preferencias' para cambiar la contraseña")
platformtools.dialog_ok(config.get_localized_string(60305),
config.get_localized_string(60306),
config.get_localized_string(60307))
else:
platformtools.dialog_ok("Canales para adultos", "La contraseña no es correcta.",
"Los cambios realizados en esta sección no se guardaran.")
platformtools.dialog_ok(config.get_localized_string(60305), config.get_localized_string(60309),
config.get_localized_string(60310))
# Deshacer cambios
set_setting("adult_mode", settings_pre.get("adult_mode", 0))

View File

@@ -101,7 +101,7 @@ def run(item=None):
elif item.action == "script":
from core import tmdb
if tmdb.drop_bd():
platformtools.dialog_notification("Alfa", "caché eliminada", time=2000, sound=False)
platformtools.dialog_notification(config.get_localized_string(20000), config.get_localized_string(60011), time=2000, sound=False)
# Action in certain channel specified in "action" and "channel" parameters
else:
@@ -113,7 +113,7 @@ def run(item=None):
# Parental control
# If it is an adult channel, and user has configured pin, asks for it
if channeltools.is_adult(item.channel) and config.get_setting("adult_request_password"):
tecleado = platformtools.dialog_input("", "Contraseña para canales de adultos", True)
tecleado = platformtools.dialog_input("", config.get_localized_string(60334), True)
if tecleado is None or tecleado != config.get_setting("adult_password"):
return
@@ -168,7 +168,7 @@ def run(item=None):
# If not, shows user an error message
else:
platformtools.dialog_ok("alfa", "No hay nada para reproducir")
platformtools.dialog_ok(config.get_localized_string(20000), config.get_localized_string(60339))
# If player don't have a "play" function, not uses the standard play from platformtools
else:
@@ -280,10 +280,8 @@ def run(item=None):
canal = scrapertools.find_single_match(traceback.format_exc(), patron)
platformtools.dialog_ok(
"Error en el canal " + canal,
"La web de la que depende parece no estar disponible, puede volver a intentarlo, "
"si el problema persiste verifique mediante un navegador la web: %s. "
"Si la web funciona correctamente informe el error en: www.alfa-addon.com" %(e))
config.get_localized_string(70093) + canal,
config.get_localized_string(60013) %(e))
except:
import traceback
logger.error(traceback.format_exc())
@@ -298,20 +296,17 @@ def run(item=None):
log_name = "xbmc.log"
else:
log_name = "kodi.log"
log_message = "Ruta: " + xbmc.translatePath("special://logpath") + log_name
log_message = config.get_localized_string(50004) + xbmc.translatePath("special://logpath") + log_name
except:
log_message = ""
if canal:
platformtools.dialog_ok(
"Error inesperado en el canal " + canal,
"Puede deberse a un fallo de conexión, la web del canal "
"ha cambiado su estructura, o un error interno de alfa.",
"Para saber más detalles, consulta el log.", log_message)
config.get_localized_string(70093) + canal,
config.get_localized_string(60014), log_message)
else:
platformtools.dialog_ok(
"Se ha producido un error en alfa",
"Comprueba el log para ver mas detalles del error.",
config.get_localized_string(59984),
log_message)
@@ -327,8 +322,8 @@ def reorder_itemlist(itemlist):
modified = 0
not_modified = 0
to_change = [['Ver en', '[V]'],
['Descargar en', '[D]']]
to_change = [[config.get_localized_string(60335), '[V]'],
[config.get_localized_string(60336), '[D]']]
for item in itemlist:
old_title = unicode(item.title, "utf8").lower().encode("utf8")
@@ -415,7 +410,7 @@ def play_from_library(item):
else:
# Ventana emergente
from channels import videolibrary
p_dialog = platformtools.dialog_progress_bg('alfa', 'Cargando...')
p_dialog = platformtools.dialog_progress_bg(config.get_localized_string(20000), config.get_localized_string(70004))
p_dialog.update(0, '')
itemlist = videolibrary.findvideos(item)

View File

@@ -118,7 +118,7 @@ def render_items(itemlist, parent_item):
# Si no hay ningun item, mostramos un aviso
if not len(itemlist):
itemlist.append(Item(title="No hay elementos que mostrar"))
itemlist.append(Item(title=config.get_localized_string(60347)))
genre = False
if 'nero' in parent_item.title:
@@ -437,7 +437,7 @@ def set_context_commands(item, parent_item):
if item.action and item.action not in ["add_pelicula_to_library", "add_serie_to_library", "buscartrailer"]:
# Mostrar informacion: si el item tiene plot suponemos q es una serie, temporada, capitulo o pelicula
if item.infoLabels['plot'] and (num_version_xbmc < 17.0 or item.contentType == 'season'):
context_commands.append(("Información", "XBMC.Action(Info)"))
context_commands.append((config.get_localized_string(60348), "XBMC.Action(Info)"))
# ExtendedInfo: Si esta instalado el addon y se cumplen una serie de condiciones
if xbmc.getCondVisibility('System.HasAddon(script.extendedinfo)') \
@@ -482,7 +482,7 @@ def set_context_commands(item, parent_item):
# Ir al Menu Principal (channel.mainlist)
if parent_item.channel not in ["news", "channelselector"] and item.action != "mainlist" \
and parent_item.action != "mainlist":
context_commands.append(("Ir al Menu Principal", "XBMC.Container.Refresh (%s?%s)" %
context_commands.append((config.get_localized_string(60349), "XBMC.Container.Refresh (%s?%s)" %
(sys.argv[0], Item(channel=item.channel, action="mainlist").tourl())))
# Añadir a Favoritos
@@ -514,7 +514,7 @@ def set_context_commands(item, parent_item):
item.wanted = item.contentSerieName
else:
item.wanted = item.contentTitle
context_commands.append(("[COLOR yellow]Buscar en otros canales[/COLOR]",
context_commands.append((config.get_localized_string(60350),
"XBMC.Container.Update (%s?%s)" % (sys.argv[0],
item.clone(channel='search',
action="do_search",
@@ -524,7 +524,7 @@ def set_context_commands(item, parent_item):
# Definir como Pagina de inicio
if config.get_setting('start_page'):
if item.action not in ['findvideos', 'play']:
context_commands.insert(0, ("[COLOR 0xffccff00]Definir como pagina de inicio[/COLOR]",
context_commands.insert(0, (config.get_localized_string(60351),
"XBMC.RunPlugin(%s?%s)" % (
sys.argv[0], Item(channel='side_menu',
action="set_custom_start",
@@ -533,19 +533,19 @@ def set_context_commands(item, parent_item):
if item.channel != "videolibrary":
# Añadir Serie a la videoteca
if item.action in ["episodios", "get_episodios"] and item.contentSerieName:
context_commands.append(("Añadir Serie a Videoteca", "XBMC.RunPlugin(%s?%s)" %
context_commands.append((config.get_localized_string(60352), "XBMC.RunPlugin(%s?%s)" %
(sys.argv[0], item.clone(action="add_serie_to_library",
from_action=item.action).tourl())))
# Añadir Pelicula a videoteca
elif item.action in ["detail", "findvideos"] and item.contentType == 'movie' and item.contentTitle:
context_commands.append(("Añadir Pelicula a Videoteca", "XBMC.RunPlugin(%s?%s)" %
context_commands.append((config.get_localized_string(60353), "XBMC.RunPlugin(%s?%s)" %
(sys.argv[0], item.clone(action="add_pelicula_to_library",
from_action=item.action).tourl())))
if item.channel != "downloads":
# Descargar pelicula
if item.contentType == "movie" and item.contentTitle:
context_commands.append(("Descargar Pelicula", "XBMC.RunPlugin(%s?%s)" %
context_commands.append((config.get_localized_string(60354), "XBMC.RunPlugin(%s?%s)" %
(sys.argv[0], item.clone(channel="downloads", action="save_download",
from_channel=item.channel, from_action=item.action)
.tourl())))
@@ -553,45 +553,45 @@ def set_context_commands(item, parent_item):
elif item.contentSerieName:
# Descargar serie
if item.contentType == "tvshow":
context_commands.append(("Descargar Serie", "XBMC.RunPlugin(%s?%s)" %
context_commands.append((config.get_localized_string(60355), "XBMC.RunPlugin(%s?%s)" %
(sys.argv[0], item.clone(channel="downloads", action="save_download",
from_channel=item.channel,
from_action=item.action).tourl())))
# Descargar episodio
elif item.contentType == "episode":
context_commands.append(("Descargar Episodio", "XBMC.RunPlugin(%s?%s)" %
context_commands.append((config.get_localized_string(60356), "XBMC.RunPlugin(%s?%s)" %
(sys.argv[0], item.clone(channel="downloads", action="save_download",
from_channel=item.channel,
from_action=item.action).tourl())))
# Descargar temporada
elif item.contentType == "season":
context_commands.append(("Descargar Temporada", "XBMC.RunPlugin(%s?%s)" %
context_commands.append((config.get_localized_string(60357), "XBMC.RunPlugin(%s?%s)" %
(sys.argv[0], item.clone(channel="downloads", action="save_download",
from_channel=item.channel,
from_action=item.action).tourl())))
# Abrir configuración
if parent_item.channel not in ["setting", "news", "search"]:
context_commands.append(("Abrir Configuración", "XBMC.Container.Update(%s?%s)" %
context_commands.append((config.get_localized_string(60358), "XBMC.Container.Update(%s?%s)" %
(sys.argv[0], Item(channel="setting", action="mainlist").tourl())))
# Buscar Trailer
if item.action == "findvideos" or "buscar_trailer" in context:
context_commands.append(("Buscar Trailer", "XBMC.RunPlugin(%s?%s)" % (sys.argv[0], item.clone(
context_commands.append((config.get_localized_string(60359), "XBMC.RunPlugin(%s?%s)" % (sys.argv[0], item.clone(
channel="trailertools", action="buscartrailer", contextual=True).tourl())))
# Añadir SuperFavourites al menu contextual (1.0.53 o superior necesario)
sf_file_path = xbmc.translatePath("special://home/addons/plugin.program.super.favourites/LaunchSFMenu.py")
check_sf = os.path.exists(sf_file_path)
if check_sf and xbmc.getCondVisibility('System.HasAddon("plugin.program.super.favourites")'):
context_commands.append(("Super Favourites Menu",
context_commands.append((config.get_localized_string(60361),
"XBMC.RunScript(special://home/addons/plugin.program.super.favourites/LaunchSFMenu.py)"))
context_commands = sorted(context_commands, key=lambda comand: comand[0])
# Menu Rapido
context_commands.insert(0, ("[COLOR 0xffccff00]<Menú Rápido>[/COLOR]",
context_commands.insert(0, (config.get_localized_string(60360),
"XBMC.Container.Update (%s?%s)" % (sys.argv[0], Item(channel='side_menu',
action="open_menu",
parent=parent_item.tourl()).tourl(
@@ -755,7 +755,7 @@ def handle_wait(time_to_wait, title, text):
secs += 1
percent = increment * secs
secs_left = str((time_to_wait - secs))
remaining_display = ' Espera ' + secs_left + ' segundos para que comience el vídeo...'
remaining_display = config.get_localized_string(70176) + secs_left + config.get_localized_string(70177)
espera.update(percent, ' ' + text, remaining_display)
xbmc.sleep(1000)
if espera.iscanceled():
@@ -835,13 +835,13 @@ def get_dialogo_opciones(item, default_action, strm, autoplay):
if not autoplay:
if item.server != "":
if "<br/>" in motivo:
dialog_ok("No puedes ver ese vídeo porque...", motivo.split("<br/>")[0], motivo.split("<br/>")[1],
dialog_ok(config.get_localized_string(60362), motivo.split("<br/>")[0], motivo.split("<br/>")[1],
item.url)
else:
dialog_ok("No puedes ver ese vídeo porque...", motivo, item.url)
dialog_ok(config.get_localized_string(60362), motivo, item.url)
else:
dialog_ok("No puedes ver ese vídeo porque...", "El servidor donde está alojado no está",
"soportado en alfa todavía", item.url)
dialog_ok(config.get_localized_string(60362), config.get_localized_string(60363),
config.get_localized_string(60364), item.url)
if item.channel == "favorites":
# "Quitar de favoritos"
@@ -935,7 +935,7 @@ def get_video_seleccionado(item, seleccion, video_urls):
# Si hay un tiempo de espera (como en megaupload), lo impone ahora
if wait_time > 0:
continuar = handle_wait(wait_time, item.server, "Cargando vídeo...")
continuar = handle_wait(wait_time, item.server, config.get_localized_string(60365))
if not continuar:
mediaurl = ""
@@ -1016,9 +1016,9 @@ def torrent_client_installed(show_tuple=False):
for client in torrent_clients:
if xbmc.getCondVisibility('System.HasAddon("%s")' % client["id"]):
if show_tuple:
torrent_options.append(["Plugin externo: %s" % client["name"], client["url"]])
torrent_options.append([config.get_localized_string(60366) % client["name"], client["url"]])
else:
torrent_options.append("Plugin externo: %s" % client["name"])
torrent_options.append(config.get_localized_string(60366) % client["name"])
return torrent_options
@@ -1035,12 +1035,12 @@ def play_torrent(item, xlistitem, mediaurl):
if torrent_client and torrent_client - 1 <= len(torrent_options):
if torrent_client == 0:
seleccion = dialog_select("Abrir torrent con...", [opcion[0] for opcion in torrent_options])
seleccion = dialog_select(config.get_localized_string(70193), [opcion[0] for opcion in torrent_options])
else:
seleccion = torrent_client - 1
else:
if len(torrent_options) > 1:
seleccion = dialog_select("Abrir torrent con...", [opcion[0] for opcion in torrent_options])
seleccion = dialog_select(config.get_localized_string(70193), [opcion[0] for opcion in torrent_options])
else:
seleccion = 0
@@ -1068,10 +1068,10 @@ def play_torrent(item, xlistitem, mediaurl):
# Iniciamos el cliente:
c = Client(url=mediaurl, is_playing_fnc=xbmc_player.isPlaying, wait_time=None, timeout=10,
temp_path=os.path.join(client_tmp_path, "alfa-torrent"), print_status=debug)
temp_path=os.path.join(client_tmp_path, config.get_localized_string(70194)), print_status=debug)
# Mostramos el progreso
progreso = dialog_progress("Alfa - Torrent", "Iniciando...")
progreso = dialog_progress(config.get_localized_string(70195), config.get_localized_string(70196))
# Mientras el progreso no sea cancelado ni el cliente cerrado
while not c.closed:
@@ -1092,7 +1092,7 @@ def play_torrent(item, xlistitem, mediaurl):
(s.progress_file, s.file_size, s.str_state, s._download_rate)
txt2 = 'S: %d(%d) P: %d(%d)' % (s.num_seeds, s.num_complete, s.num_peers, s.num_incomplete)
try:
txt3 = 'Deteniendo automaticamente en: %ss' % (int(s.timeout))
txt3 = config.get_localized_string(70197) % (int(s.timeout))
except:
txt3 = ''
@@ -1102,21 +1102,21 @@ def play_torrent(item, xlistitem, mediaurl):
if progreso.iscanceled():
progreso.close()
if s.buffer == 100:
if dialog_yesno("Alfa - Torrent", "¿Deseas iniciar la reproduccion?"):
if dialog_yesno(config.get_localized_string(70195), config.get_localized_string(70198)):
played = False
progreso = dialog_progress("Alfa - Torrent", "")
progreso = dialog_progress(config.get_localized_string(70195), "")
progreso.update(s.buffer, txt, txt2, txt3)
else:
progreso = dialog_progress("Alfa - Torrent", "")
progreso = dialog_progress(config.get_localized_string(70195), "")
break
else:
if dialog_yesno("Alfa - Torrent", "¿Deseas cancelar el proceso?"):
progreso = dialog_progress("Alfa - Torrent", "")
if dialog_yesno(config.get_localized_string(70195), config.get_localized_string(70199)):
progreso = dialog_progress(config.get_localized_string(70195), "")
break
else:
progreso = dialog_progress("Alfa - Torrent", "")
progreso = dialog_progress(config.get_localized_string(70195), "")
progreso.update(s.buffer, txt, txt2, txt3)
# Si el buffer se ha llenado y la reproduccion no ha sido iniciada, se inicia
@@ -1147,7 +1147,7 @@ def play_torrent(item, xlistitem, mediaurl):
time.sleep(1)
# Cuando este cerrado, Volvemos a mostrar el dialogo
progreso = dialog_progress("Alfa - Torrent", "")
progreso = dialog_progress(config.get_localized_string(70195), "")
progreso.update(s.buffer, txt, txt2, txt3)
except:
@@ -1155,7 +1155,7 @@ def play_torrent(item, xlistitem, mediaurl):
logger.error(traceback.format_exc())
break
progreso.update(100, "Terminando y eliminando datos", " ", " ")
progreso.update(100, config.get_localized_string(70200), " ", " ")
# Detenemos el cliente
if not c.closed:

View File

@@ -204,6 +204,7 @@ def set_lang(language):
#logger.info()
cast =['castellano','espanol','cast','esp','espaol', 'es','zc', 'spa', 'spanish', 'vc']
ita =['italiano','italian','ita','it']
lat=['latino','lat','la', 'espanol latino', 'espaol latino', 'zl', 'mx', 'co', 'vl']
vose=['subtitulado','subtitulada','sub','sub espanol','vose','espsub','su','subs castellano',
'sub: español', 'vs', 'zs', 'vs', 'english-spanish subs', 'ingles sub espanol']
@@ -222,6 +223,8 @@ def set_lang(language):
language = 'cast'
elif language in lat:
language = 'lat'
elif language in ita:
language = 'ita'
elif language in vose:
language = 'vose'
elif language in vos:

View File

@@ -208,8 +208,8 @@ def sync_trakt_kodi(silent=True):
logger.info("Sincronizacion con Trakt iniciada")
if notificacion:
platformtools.dialog_notification("Alfa",
"Sincronizacion con Trakt iniciada",
platformtools.dialog_notification(config.get_localized_string(20000),
config.get_localized_string(60045),
icon=0,
time=2000)
@@ -440,17 +440,15 @@ def set_content(content_type, silent=False):
videolibrarypath = config.get_setting("videolibrarypath")
if content_type == 'movie':
scraper = ["The Movie Database", "Universal Movie Scraper"]
seleccion = platformtools.dialog_select("Seleccione el scraper para las películas", scraper)
scraper = [config.get_localized_string(70093), config.get_localized_string(70096)]
seleccion = platformtools.dialog_select(config.get_localized_string(70094), scraper)
# Instalar The Movie Database
if seleccion == -1 or seleccion == 0:
if not xbmc.getCondVisibility('System.HasAddon(metadata.themoviedb.org)'):
if not silent:
# Preguntar si queremos instalar metadata.themoviedb.org
install = platformtools.dialog_yesno("The Movie Database",
"No se ha encontrado el Scraper de películas de TheMovieDB.",
"¿Desea instalarlo ahora?")
install = platformtools.dialog_yesno(config.get_localized_string(60046))
else:
install = True
@@ -464,7 +462,7 @@ def set_content(content_type, silent=False):
continuar = (install and xbmc.getCondVisibility('System.HasAddon(metadata.themoviedb.org)'))
if not continuar:
msg_text = "The Movie Database no instalado."
msg_text = config.get_localized_string(60047)
if continuar:
xbmc.executebuiltin('xbmc.addon.opensettings(metadata.themoviedb.org)', True)
@@ -474,9 +472,7 @@ def set_content(content_type, silent=False):
continuar = False
if not silent:
# Preguntar si queremos instalar metadata.universal
install = platformtools.dialog_yesno("Universal Movie Scraper",
"No se ha encontrado el Scraper de series de TheMovieDB.",
"¿Desea instalarlo ahora?")
install = platformtools.dialog_yesno(config.get_localized_string(70095))
else:
install = True
@@ -490,22 +486,20 @@ def set_content(content_type, silent=False):
continuar = (install and continuar)
if not continuar:
msg_text = "Universal Movie Scraper no instalado."
msg_text = config.get_localized_string(70097)
if continuar:
xbmc.executebuiltin('xbmc.addon.opensettings(metadata.universal)', True)
else: # SERIES
scraper = ["The TVDB", "The Movie Database"]
seleccion = platformtools.dialog_select("Seleccione el scraper para las series", scraper)
scraper = [config.get_localized_string(70098), config.get_localized_string(70093)]
seleccion = platformtools.dialog_select(config.get_localized_string(70107), scraper)
# Instalar The TVDB
if seleccion == -1 or seleccion == 0:
if not xbmc.getCondVisibility('System.HasAddon(metadata.tvdb.com)'):
if not silent:
# Preguntar si queremos instalar metadata.tvdb.com
install = platformtools.dialog_yesno("The TVDB",
"No se ha encontrado el Scraper de series de The TVDB.",
"¿Desea instalarlo ahora?")
install = platformtools.dialog_yesno(config.get_localized_string(60048))
else:
install = True
@@ -519,7 +513,7 @@ def set_content(content_type, silent=False):
continuar = (install and xbmc.getCondVisibility('System.HasAddon(metadata.tvdb.com)'))
if not continuar:
msg_text = "The TVDB no instalado."
msg_text = config.get_localized_string(70099)
if continuar:
xbmc.executebuiltin('xbmc.addon.opensettings(metadata.tvdb.com)', True)
@@ -529,9 +523,7 @@ def set_content(content_type, silent=False):
continuar = False
if not silent:
# Preguntar si queremos instalar metadata.tvshows.themoviedb.org
install = platformtools.dialog_yesno("The Movie Database",
"No se ha encontrado el Scraper de series de TheMovieDB.",
"¿Desea instalarlo ahora?")
install = platformtools.dialog_yesno(config.get_localized_string(70100))
else:
install = True
@@ -546,7 +538,7 @@ def set_content(content_type, silent=False):
continuar = (install and continuar)
if not continuar:
msg_text = "The Movie Database no instalado."
msg_text = config.get_localized_string(60047)
if continuar:
xbmc.executebuiltin('xbmc.addon.opensettings(metadata.tvshows.themoviedb.org)', True)
@@ -594,7 +586,7 @@ def set_content(content_type, silent=False):
idParentPath = idPath
idPath += 1
else:
msg_text = "Error al fijar videolibrarypath en BD"
msg_text = config.get_localized_string(70101)
if continuar:
continuar = False
@@ -647,7 +639,7 @@ def set_content(content_type, silent=False):
else:
if not silent:
# Preguntar si queremos configurar themoviedb.org como opcion por defecto
actualizar = platformtools.dialog_yesno("The TVDB", strActualizar)
actualizar = platformtools.dialog_yesno(config.get_localized_string(70098), strActualizar)
else:
actualizar = True
@@ -663,17 +655,17 @@ def set_content(content_type, silent=False):
continuar = True
if not continuar:
msg_text = "Error al configurar el scraper en la BD."
msg_text = config.get_localized_string(60055)
if not continuar:
heading = "Videoteca %s no configurada" % content_type
heading = config.get_localized_string(70102) % content_type
elif content_type == 'SERIES' and not xbmc.getCondVisibility(
'System.HasAddon(metadata.tvshows.themoviedb.org)'):
heading = "Videoteca %s configurada" % content_type
msg_text = "Es necesario reiniciar Kodi para que los cambios surtan efecto."
heading = config.get_localized_string(70103) % content_type
msg_text = config.get_localized_string(60058)
else:
heading = "Videoteca %s configurada" % content_type
msg_text = "Felicidades la videoteca de Kodi ha sido configurada correctamente."
heading = config.get_localized_string(70103) % content_type
msg_text = config.get_localized_string(70104)
platformtools.dialog_notification(heading, msg_text, icon=1, time=3000)
logger.info("%s: %s" % (heading, msg_text))
@@ -824,9 +816,9 @@ def ask_set_content(flag, silent=False):
add_sources(config.get_setting("downloadpath"))
if not silent:
heading = "Alfa Auto-configuración"
linea1 = "¿Desea que Alfa auto-configure la videoteca de Kodi? Se le pedirá que configure los scrapers para las películas y las series."
linea2 = "Si pulsa 'No', podra hacerlo desde 'Configuración > Preferencia > Rutas'."
heading = config.get_localized_string(59971)
linea1 = config.get_localized_string(70105)
linea2 = config.get_localized_string(70106)
if platformtools.dialog_yesno(heading, linea1, linea2):
do_config()
else:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,121 +1,121 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="General">
<setting id="player_mode" type="enum" values="Direct|SetResolvedUrl|Built-In|Download and Play" label="30044" default="0"/>
<setting id="default_action" type="enum" lvalues="30006|30007|30008" label="30005" default="0"/>
<setting id="thumbnail_type" type="enum" lvalues="30011|30012|30200" label="30010" default="2"/>
<setting id="channel_language" type="labelenum" values="all|cast|lat" label="30019" default="all"/>
<setting id="trakt_sync" type="bool" label="Sincronizar con Trakt.tv (Debes tener una cuenta)" default="false"/>
<setting id="forceview" type="bool" label="30043" default="false"/>
<setting id="faster_item_serialization" type="bool" label="30300" default="false"/>
<setting id="debug" type="bool" label="30003" default="false"/>
<setting label="Uso de servidores" type="lsep"/>
<setting id="resolve_priority" type="enum" label="Método prioritario" values="Free primero|Premium primero|Debriders primero" default="0"/>
<setting id="resolve_stop" type="bool" label="Dejar de buscar cuando encuentre una opción" default="true"/>
<setting id="hidepremium" type="bool" label="Ocultar servidores de pago sin cuenta" default="false"/>
<category label="$ADDON[plugin.video.alfa 70168]">
<setting id="player_mode" type="enum" values="Direct|SetResolvedUrl|Built-In|Download and Play" label="$ADDON[plugin.video.alfa 30044]" default="0"/>
<setting id="default_action" type="enum" lvalues="30006|30007|30008" label="$ADDON[plugin.video.alfa 30005]" default="0"/>
<setting id="thumbnail_type" type="enum" lvalues="30011|30012|30200" label="$ADDON[plugin.video.alfa 30010]" default="2"/>
<setting id="channel_language" type="labelenum" values="all|cast|lat|ita" label="$ADDON[plugin.video.alfa 30019]" default="all"/>
<setting id="trakt_sync" type="bool" label="$ADDON[plugin.video.alfa 70109]" default="false"/>
<setting id="forceview" type="bool" label="$ADDON[plugin.video.alfa 30043]" default="false"/>
<setting id="faster_item_serialization" type="bool" label="$ADDON[plugin.video.alfa 30300]" default="false"/>
<setting id="debug" type="bool" label="$ADDON[plugin.video.alfa 30003]" default="false"/>
<setting label="$ADDON[plugin.video.alfa 70169]" type="lsep"/>
<setting id="resolve_priority" type="enum" label="$ADDON[plugin.video.alfa 70110]" lvalues="70164|70165|70166" default="0"/>
<setting id="resolve_stop" type="bool" label="$ADDON[plugin.video.alfa 70111]" default="true"/>
<setting id="hidepremium" type="bool" label="$ADDON[plugin.video.alfa 70112]" default="false"/>
<setting type="sep"/>
<setting label="Canales para adultos" type="lsep"/>
<setting id="adult_aux_intro_password" type="text" label="Contraseña (por defecto 0000):" option="hidden" default=""/>
<setting id="adult_mode" type="enum" values="Nunca|Siempre|Solo hasta que se reinicie Kodi" label="30002" enable="!eq(-1,)" default="0"/>
<setting id="adult_request_password" type="bool" label="Solicitar contraseña para abrir canales de adultos" enable="!eq(-1,0)+!eq(-2,)" default="true"/>
<setting id="adult_aux_new_password1" type="text" label="Nueva contraseña:" option="hidden" enable="!eq(-3,)" default=""/>
<setting id="adult_aux_new_password2" type="text" label="Confirmar nueva contraseña:" option="hidden" enable="!eq(-1,)" default=""/>
<setting label="$ADDON[plugin.video.alfa 60305]" type="lsep"/>
<setting id="adult_aux_intro_password" type="text" label="$ADDON[plugin.video.alfa 70113]" option="hidden" default=""/>
<setting id="adult_mode" type="enum" lvalues="60602|60616|70114" label="$ADDON[plugin.video.alfa 30002]" enable="!eq(-1,)" default="0"/>
<setting id="adult_request_password" type="bool" label="$ADDON[plugin.video.alfa 70115]" enable="!eq(-1,0)+!eq(-2,)" default="true"/>
<setting id="adult_aux_new_password1" type="text" label="$ADDON[plugin.video.alfa 70116]" option="hidden" enable="!eq(-3,)" default=""/>
<setting id="adult_aux_new_password2" type="text" label="$ADDON[plugin.video.alfa 70117]" option="hidden" enable="!eq(-1,)" default=""/>
</category>
<!-- Path downloads -->
<category label="30501">
<setting id="downloadpath" type="folder" label="30017" default=""/>
<setting id="downloadlistpath" type="folder" label="30018" default=""/>
<setting id="videolibrarypath" type="folder" label="30067" default=""/>
<category label="$ADDON[plugin.video.alfa 30501]">
<setting id="downloadpath" type="folder" label="$ADDON[plugin.video.alfa 30017]" default=""/>
<setting id="downloadlistpath" type="folder" label="$ADDON[plugin.video.alfa 30018]" default=""/>
<setting id="videolibrarypath" type="folder" label="$ADDON[plugin.video.alfa 30067]" default=""/>
<setting type="sep"/>
<setting label="30131" type="lsep"/>
<setting id="folder_tvshows" type="text" label="Nombre de carpeta para 'Series'" default="SERIES"/>
<setting id="folder_movies" type="text" label="Nombre de carpeta para 'Peliculas'" default="CINE"/>
<setting label="$ADDON[plugin.video.alfa 30131]" type="lsep"/>
<setting id="folder_tvshows" type="text" label="$ADDON[plugin.video.alfa 70118]" default="SERIES"/>
<setting id="folder_movies" type="text" label="$ADDON[plugin.video.alfa 70119]" default="CINE"/>
<setting id="videolibrary_kodi_flag" type="number" label="" default="0" visible="false"/>
<setting id="videolibrary_kodi" type="bool" label="Autoconfigurar videoteca de XBMC/Kodi para contenido de Alfa" enable="lt(-1,2)+eq(0,false)" default="false"/>
<setting id="videolibrary_kodi" type="bool" label="$ADDON[plugin.video.alfa 70120]" enable="lt(-1,2)+eq(0,false)" default="false"/>
</category>
<category label="Pagina de inicio">
<setting id="start_page" type="bool" label="Activar pagina de inicio" default="false"/>
<setting id="custom_start" type="bool" label="Personalizado (seleccionar desde un canal)" default="false"
<category label="$ADDON[plugin.video.alfa 70121]">
<setting id="start_page" type="bool" label="$ADDON[plugin.video.alfa 70121]" default="false"/>
<setting id="custom_start" type="bool" label="$ADDON[plugin.video.alfa 70122]" default="false"
visible="eq(-1,True)"/>
<setting id="news_start" type="bool" label="Mostrar Novedades" default="false" visible="eq(-2,True)"
<setting id="news_start" type="bool" label="$ADDON[plugin.video.alfa 70123]" default="false" visible="eq(-2,True)"
enable="eq(-1,False)+eq(-2,True"/>
<setting id="category" type="labelenum" label="Categoria"
values="Peliculas|Series|Anime|Infantiles|Documentales|Terror|Castellano|Latino|Torrent"
default="Peliculas" visible="eq(-3,True)+eq(-1,True)+eq(-2,False)" enable="eq(-3,True)+eq(-1,True)+(-2,false)"/>
<setting id="category" type="labelenum" label="$ADDON[plugin.video.alfa 70124]"
lvalues="70137|70136|70127|60269|60272|70013|70014|59976|70171"
default="$ADDON[plugin.video.alfa 70137]" visible="eq(-3,True)+eq(-1,True)+eq(-2,False)" enable="eq(-3,True)+eq(-1,True)+(-2,false)"/>
</category>
<category label="Opciones Visuales">
<setting id="icon_set" type="labelenum" label="Set de iconos" values="default|dark|angedam" default="default"/>
<setting id="infoplus_set" type="labelenum" label="Opción visual Infoplus" values="Sin animación|Con animación" default="Sin animación"/>
<setting id="video_thumbnail_type" type="enum" label="Thumbnail para videos" values="Poster|Logo del servidor" default="0"/>
<setting label="Opciones para Titulos" type="lsep"/>
<setting id="unify" type="bool" label="Titulos Inteligentes" default="false"/>
<setting id="title_color" type="bool" label="Colores Personalizados" default="false" visible="eq(-1,true)"/>
<setting id="movie_color" type="labelenum" label="Pelicula"
<category label="$ADDON[plugin.video.alfa 70126]">
<setting id="icon_set" type="labelenum" label="$ADDON[plugin.video.alfa 70108]" values="default|dark|angedam" default="default"/>
<setting id="infoplus_set" type="labelenum" label="$ADDON[plugin.video.alfa 70128]" lvalues="70129|70130" default="$ADDON[plugin.video.alfa 70129]"/>
<setting id="video_thumbnail_type" type="enum" label="$ADDON[plugin.video.alfa 70131]" lvalues="70132|70133" default="0"/>
<setting label="$ADDON[plugin.video.alfa 70167]" type="lsep"/>
<setting id="unify" type="bool" label="$ADDON[plugin.video.alfa 70134]" default="false"/>
<setting id="title_color" type="bool" label="$ADDON[plugin.video.alfa 70135]" default="false" visible="eq(-1,true)"/>
<setting id="movie_color" type="labelenum" label="$ADDON[plugin.video.alfa 70137]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-1,true)+eq(-2,true)"/>
<setting id="tvshow_color" type="labelenum" label="Serie"
<setting id="tvshow_color" type="labelenum" label="$ADDON[plugin.video.alfa 70136]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-2,true)+eq(-3,true)"/>
<setting id="year_color" type="labelenum" label="Año"
<setting id="year_color" type="labelenum" label="$ADDON[plugin.video.alfa 60232]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-3,true)+eq(-4,true)"/>
<setting id="rating_1_color" type="labelenum" label="Valoracion Baja"
<setting id="rating_1_color" type="labelenum" label="$ADDON[plugin.video.alfa 70138]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-4,true)+eq(-5,true)"/>
<setting id="rating_2_color" type="labelenum" label="Valoracion Media"
<setting id="rating_2_color" type="labelenum" label="$ADDON[plugin.video.alfa 70139]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-5,true)+eq(-6,true)"/>
<setting id="rating_3_color" type="labelenum" label="Valoracion Alta"
<setting id="rating_3_color" type="labelenum" label="$ADDON[plugin.video.alfa 70140]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-6,true)+eq(-7,true)"/>
<setting id="quality_color" type="labelenum" label="Calidad"
<setting id="quality_color" type="labelenum" label="$ADDON[plugin.video.alfa 70141]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-7,true)+eq(-8,true)"/>
<setting id="cast_color" type="labelenum" label="Castellano"
<setting id="cast_color" type="labelenum" label="$ADDON[plugin.video.alfa 59980]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-8,true)+eq(-9,true)"/>
<setting id="lat_color" type="labelenum" label="Latino"
<setting id="lat_color" type="labelenum" label="$ADDON[plugin.video.alfa 59981]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-9,true)+eq(-10,true)"/>
<setting id="vose_color" type="labelenum" label="VOSE (Versión Original Subtitulado Español)"
<setting id="vose_color" type="labelenum" label="$ADDON[plugin.video.alfa 701402]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-10,true)+eq(-11,true)"/>
<setting id="vos_color" type="labelenum" label="VOS (Versión Original Subtitulado)"
<setting id="vos_color" type="labelenum" label="$ADDON[plugin.video.alfa 70143]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-11,true)+eq(-12,true)"/>
<setting id="vo_color" type="labelenum" label="VO (Versión Original)"
<setting id="vo_color" type="labelenum" label="$ADDON[plugin.video.alfa 70144]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-12,true)+eq(-13,true)"/>
<setting id="server_color" type="labelenum" label="Servidores"
<setting id="server_color" type="labelenum" label="$ADDON[plugin.video.alfa 70145]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-13,true)+eq(-14,true)"/>
<setting id="library_color" type="labelenum" label="Añadir a Videoteca"
<setting id="library_color" type="labelenum" label="$ADDON[plugin.video.alfa 70146]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-14,true)+eq(-15,true)"/>
<setting id="update_color" type="labelenum" label="Videoteca (Actualizar serie)"
<setting id="update_color" type="labelenum" label="$ADDON[plugin.video.alfa 70147]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-15,true)+eq(-16,true)"/>
<setting id="no_update_color" type="labelenum" label="Videoteca (No actualizar serie)"
<setting id="no_update_color" type="labelenum" label="$ADDON[plugin.video.alfa 70148]"
lvalues="[COLOR white]white[/COLOR]|[COLOR cyan]cyan[/COLOR]|[COLOR deepskyblue]deepskyblue[/COLOR]|[COLOR firebrick]firebrick[/COLOR]|[COLOR gold]gold[/COLOR]|[COLOR goldenrod]goldenrod[/COLOR]|[COLOR hotpink]hotpink[/COLOR]|[COLOR limegreen]limegreen[/COLOR]|[COLOR orange]orange[/COLOR]|[COLOR orchid]orchid[/COLOR]|[COLOR red]red[/COLOR]|[COLOR salmon]salmon[/COLOR]|[COLOR yellow]yellow[/COLOR]"
default="white" visible="eq(-16,true)+eq(-17,true)"/>
</category>
<category label="Otros">
<setting label="Info de películas/series en menú contextual" type="lsep"/>
<setting id="infoplus" type="bool" label="Mostrar opción Infoplus:" default="true"/>
<setting id="extended_info" type="bool" label="Mostrar opción ExtendedInfo (Necesario addon externo):" default="false"/>
<category label="$ADDON[plugin.video.alfa 70149]">
<setting label="$ADDON[plugin.video.alfa 70150]" type="lsep"/>
<setting id="infoplus" type="bool" label="$ADDON[plugin.video.alfa 70151]" default="true"/>
<setting id="extended_info" type="bool" label="$ADDON[plugin.video.alfa 70152]" default="false"/>
<setting label="Botones/Teclas de acceso (Cambios requieren reiniciar Kodi)" type="lsep"/>
<setting label="$ADDON[plugin.video.alfa 70153]" type="lsep"/>
<setting id="shortcut_key" type="action" label="30999" action="RunPlugin(plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAia2V5bWFwIg0KfQ==)" />
<setting type="sep"/>
<setting label="TheMovieDB (obtiene datos de las películas o series)" type="lsep"/>
<setting id="tmdb_threads" type="labelenum" values="5|10|15|20|25|30" label="Búsquedas simultáneas (puede causar inestabilidad)" default="20"/>
<setting id="tmdb_plus_info" type="bool" label="Buscar información extendida (datos de actores) Aumenta el tiempo de búsqueda" default="false"/>
<setting id="tmdb_cache" type="bool" label="Usar caché (mejora las búsquedas recurrentes)" default="true"/>
<setting id="tmdb_cache_expire" type="enum" lvalues="cada 1 día|cada 7 días|cada 15 días|cada 30 días|No" label="¿Renovar caché?" enable="eq(-1,true)" default="4"/>
<setting id="tmdb_clean_db_cache" type="action" label="Pulse para 'Borrar caché' guardada" action="RunPlugin(plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAic2NyaXB0Ig0KfQ==)" />
<setting label="$ADDON[plugin.video.alfa 70154]" type="lsep"/>
<setting id="tmdb_threads" type="labelenum" values="5|10|15|20|25|30" label="$ADDON[plugin.video.alfa 70155]" default="20"/>
<setting id="tmdb_plus_info" type="bool" label="$ADDON[plugin.video.alfa 70156]" default="false"/>
<setting id="tmdb_cache" type="bool" label="$ADDON[plugin.video.alfa 70157]" default="true"/>
<setting id="tmdb_cache_expire" type="enum" lvalues="70158|70159|70160|70161|70170" label="$ADDON[plugin.video.alfa 70162]" enable="eq(-1,true)" default="4"/>
<setting id="tmdb_clean_db_cache" type="action" label="$ADDON[plugin.video.alfa 70163]" action="RunPlugin(plugin://plugin.video.alfa/?ew0KICAgICJhY3Rpb24iOiAic2NyaXB0Ig0KfQ==)" />
<setting type="sep"/>
<setting label="Para evitar esperar demasiado cuando un servidor no responde:" type="lsep"/>

View File

@@ -26,7 +26,7 @@
<textcolor>0xFFFFA500</textcolor>
<align>center</align>
<aligny>center</aligny>
<label>Opciones</label>
<label>$ADDON[plugin.video.alfa 70000]</label>
</control>
<control type="button" id="10003">
<posx>735</posx>
@@ -46,7 +46,7 @@
<texturenofocus>Controls/KeyboardKeyNF.png</texturenofocus>
<align>center</align>
<aligny>center</aligny>
<label>OK</label>
<label>$ADDON[plugin.video.alfa 70001]</label>
</control>
<control type="button" id="10005">
<posx>325</posx>
@@ -58,7 +58,7 @@
<texturenofocus>Controls/KeyboardKeyNF.png</texturenofocus>
<align>center</align>
<aligny>center</aligny>
<label>Cancelar</label>
<label>$ADDON[plugin.video.alfa 70002]</label>
</control>
<control type="button" id="10006">
<posx>495</posx>
@@ -70,7 +70,7 @@
<texturenofocus>Controls/KeyboardKeyNF.png</texturenofocus>
<align>center</align>
<aligny>center</aligny>
<label>Por defecto</label>
<label>$ADDON[plugin.video.alfa 70003]</label>
</control>
<control type="group" id="10007">
<posy>45</posy>
@@ -91,7 +91,7 @@
<textcolor>0xFFFFFFFF</textcolor>
<align>center</align>
<aligny>center</aligny>
<label>Cargando...</label>
<label>$ADDON[plugin.video.alfa 70004]</label>
</control>
</control>
<control type="image" id="10008">

View File

@@ -3,14 +3,9 @@
# Service for updating new episodes on library series
# ------------------------------------------------------------
import datetime
import imp
import math
import threading
import datetime, imp, math, threading
from core import channeltools
from core import filetools
from core import videolibrarytools
from core import channeltools, filetools, videolibrarytools
from platformcode import config, logger
from platformcode import platformtools
from channels import videolibrary
@@ -34,7 +29,7 @@ def update(path, p_dialog, i, t, serie, overwrite):
if channel_enabled:
heading = 'Actualizando videoteca....'
heading = config.get_localized_string(60389)
p_dialog.update(int(math.ceil((i + 1) * t)), heading, "%s: %s" % (serie.contentSerieName,
serie.channel.capitalize()))
try:
@@ -95,8 +90,8 @@ def check_for_update(overwrite=True):
if config.get_setting("update", "videolibrary") != 0 or overwrite:
config.set_setting("updatelibrary_last_check", hoy.strftime('%Y-%m-%d'), "videolibrary")
heading = 'Actualizando videoteca....'
p_dialog = platformtools.dialog_progress_bg('alfa', heading)
heading = config.get_localized_string(60389)
p_dialog = platformtools.dialog_progress_bg(config.get_localized_string(20000), heading)
p_dialog.update(0, '')
show_list = []