Traduzioni Client Torrent
This commit is contained in:
+1
-1
@@ -69,7 +69,7 @@ if DOWNLOAD_LIMIT:
|
|||||||
else:
|
else:
|
||||||
DOWNLOAD_LIMIT = 0
|
DOWNLOAD_LIMIT = 0
|
||||||
UPLOAD_LIMIT = 100 * 1024
|
UPLOAD_LIMIT = 100 * 1024
|
||||||
msg_header = 'KoD Client Torrent MCT'
|
msg_header = 'MCT Client Torrent'
|
||||||
|
|
||||||
|
|
||||||
def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||||
|
|||||||
@@ -5923,6 +5923,65 @@ msgctxt "#70789"
|
|||||||
msgid "* Change by opening the settings from KoD main menu"
|
msgid "* Change by opening the settings from KoD main menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70790"
|
||||||
|
msgid "RAR download in progress"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70791"
|
||||||
|
msgid "A RAR file was detected in the download, but you have not installed the UnRAR extractor.\nDo you want to download it anyway?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70792"
|
||||||
|
msgid "Delete downloaded files?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70793"
|
||||||
|
msgid "Starting extraction..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70794"
|
||||||
|
msgid "Enter the password (Look in %s)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70795"
|
||||||
|
msgid "Extracted"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70796"
|
||||||
|
msgid "Error opening RAR File"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70797"
|
||||||
|
msgid "The RAR file is empty"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70798"
|
||||||
|
msgid "Or does not contain valid archives"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70799"
|
||||||
|
msgid "Extraction error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70800"
|
||||||
|
msgid "Archive with errors"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70801"
|
||||||
|
msgid "Extract without playing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70802"
|
||||||
|
msgid "Wait some minutes..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70803"
|
||||||
|
msgid "Extracting files..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgctxt "#70804"
|
||||||
|
msgid "Next extraction..."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
# DNS start [ settings and declaration ]
|
# DNS start [ settings and declaration ]
|
||||||
msgctxt "#707401"
|
msgctxt "#707401"
|
||||||
|
|||||||
@@ -5923,6 +5923,65 @@ msgctxt "#70789"
|
|||||||
msgid "* Change by opening the settings from KoD main menu"
|
msgid "* Change by opening the settings from KoD main menu"
|
||||||
msgstr "* Cambia aprendo le impostazioni dal menu principale di KoD"
|
msgstr "* Cambia aprendo le impostazioni dal menu principale di KoD"
|
||||||
|
|
||||||
|
msgctxt "#70790"
|
||||||
|
msgid "RAR download in progress"
|
||||||
|
msgstr "Download RAR in corso"
|
||||||
|
|
||||||
|
msgctxt "#70791"
|
||||||
|
msgid "A RAR file was detected in the download, but you have not installed the UnRAR extractor.\nDo you want to download it anyway?"
|
||||||
|
msgstr "Un file RAR è stato rilevato nel download, ma non hai installato l'estrattore UnRAR.\nVuoi scaricarlo in ogni caso?"
|
||||||
|
|
||||||
|
msgctxt "#70792"
|
||||||
|
msgid "Delete downloaded files?"
|
||||||
|
msgstr "Cancellare i file scaricati?"
|
||||||
|
|
||||||
|
msgctxt "#70793"
|
||||||
|
msgid "Starting extraction..."
|
||||||
|
msgstr "Avvio dell'estrazione..."
|
||||||
|
|
||||||
|
msgctxt "#70794"
|
||||||
|
msgid "Enter the password (Look in %s)"
|
||||||
|
msgstr "Inserisci la password (Cerca in %s)"
|
||||||
|
|
||||||
|
msgctxt "#70795"
|
||||||
|
msgid "Extracted"
|
||||||
|
msgstr "Estratto"
|
||||||
|
|
||||||
|
msgctxt "#70796"
|
||||||
|
msgid "Error opening RAR File"
|
||||||
|
msgstr "Errore durante l'apertura del file RAR"
|
||||||
|
|
||||||
|
msgctxt "#70797"
|
||||||
|
msgid "The RAR file is empty"
|
||||||
|
msgstr "Il file RAR è vuoto"
|
||||||
|
|
||||||
|
msgctxt "#70798"
|
||||||
|
msgid "Or does not contain valid archives"
|
||||||
|
msgstr "O non contiene archivi validi"
|
||||||
|
|
||||||
|
msgctxt "#70799"
|
||||||
|
msgid "Extraction error"
|
||||||
|
msgstr "Errore di estrazione"
|
||||||
|
|
||||||
|
msgctxt "#70800"
|
||||||
|
msgid "Archive with errors"
|
||||||
|
msgstr "Archivio con errori"
|
||||||
|
|
||||||
|
msgctxt "#70801"
|
||||||
|
msgid "Extract without playing"
|
||||||
|
msgstr "Estrarre senza riprodurre"
|
||||||
|
|
||||||
|
msgctxt "#70802"
|
||||||
|
msgid "Wait some minutes..."
|
||||||
|
msgstr "Aspetta qualche minuto..."
|
||||||
|
|
||||||
|
msgctxt "#70803"
|
||||||
|
msgid "Extracting files..."
|
||||||
|
msgstr "Estrazione dei files..."
|
||||||
|
|
||||||
|
msgctxt "#70804"
|
||||||
|
msgid "Next extraction..."
|
||||||
|
msgstr "Estrazione successiva..."
|
||||||
|
|
||||||
# DNS start [ settings and declaration ]
|
# DNS start [ settings and declaration ]
|
||||||
msgctxt "#707401"
|
msgctxt "#707401"
|
||||||
|
|||||||
+43
-48
@@ -61,7 +61,7 @@ trackers = [
|
|||||||
|
|
||||||
# Returns an array of possible video url's from the page_url
|
# Returns an array of possible video url's from the page_url
|
||||||
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
||||||
logger.info("server=torrent, la url es la buena")
|
logger.info("server=torrent, the url is the good")
|
||||||
|
|
||||||
if page_url.startswith("magnet:"):
|
if page_url.startswith("magnet:"):
|
||||||
video_urls = [["magnet: [torrent]", page_url]]
|
video_urls = [["magnet: [torrent]", page_url]]
|
||||||
@@ -156,7 +156,7 @@ def caching_torrents(url, referer=None, post=None, torrents_path=None, timeout=1
|
|||||||
|
|
||||||
#Si es un archivo .ZIP tratamos de extraer el contenido
|
#Si es un archivo .ZIP tratamos de extraer el contenido
|
||||||
if torrent_file.startswith("PK"):
|
if torrent_file.startswith("PK"):
|
||||||
logger.info('Es un archivo .ZIP: ' + url)
|
logger.info("it's a zip archive: " + url)
|
||||||
|
|
||||||
torrents_path_zip = filetools.join(videolibrary_path, 'temp_torrents_zip') #Carpeta de trabajo
|
torrents_path_zip = filetools.join(videolibrary_path, 'temp_torrents_zip') #Carpeta de trabajo
|
||||||
torrents_path_zip = filetools.encode(torrents_path_zip)
|
torrents_path_zip = filetools.encode(torrents_path_zip)
|
||||||
@@ -391,8 +391,7 @@ def bt_client(mediaurl, xlistitem, rar_files, subtitle=None, password=None, item
|
|||||||
erase_file_path = filetools.join(save_path_videos, video_file)
|
erase_file_path = filetools.join(save_path_videos, video_file)
|
||||||
|
|
||||||
if rar and RAR and not UNRAR:
|
if rar and RAR and not UNRAR:
|
||||||
if not platformtools.dialog_yesno(msg_header, 'Se ha detectado un archivo .RAR en la descarga', \
|
if not platformtools.dialog_yesno(msg_header, config.get_localized_string(70791)):
|
||||||
'No tiene instalado el extractor UnRAR', '¿Desea descargarlo en cualquier caso?'):
|
|
||||||
return
|
return
|
||||||
|
|
||||||
# Iniciamos el cliente:
|
# Iniciamos el cliente:
|
||||||
@@ -406,10 +405,9 @@ def bt_client(mediaurl, xlistitem, rar_files, subtitle=None, password=None, item
|
|||||||
# Mostramos el progreso
|
# Mostramos el progreso
|
||||||
if rar and RAR and BACKGROUND: # Si se descarga un RAR...
|
if rar and RAR and BACKGROUND: # Si se descarga un RAR...
|
||||||
progreso = platformtools.dialog_progress_bg(msg_header)
|
progreso = platformtools.dialog_progress_bg(msg_header)
|
||||||
platformtools.dialog_notification("Descarga de RAR en curso", "Puedes realizar otras tareas en Kodi mientrastanto. " + \
|
platformtools.dialog_notification(config.get_localized_string(70790), config.get_localized_string(70769), time=10000)
|
||||||
"Te informaremos...", time=10000)
|
|
||||||
else:
|
else:
|
||||||
progreso = platformtools.dialog_progress('Alfa %s Cliente Torrent' % torr_client, '')
|
progreso = platformtools.dialog_progress('%s Torrent Client' % torr_client, '')
|
||||||
dp_cerrado = False
|
dp_cerrado = False
|
||||||
|
|
||||||
# Mientras el progreso no sea cancelado ni el cliente cerrado
|
# Mientras el progreso no sea cancelado ni el cliente cerrado
|
||||||
@@ -567,7 +565,7 @@ def bt_client(mediaurl, xlistitem, rar_files, subtitle=None, password=None, item
|
|||||||
finalizado = True
|
finalizado = True
|
||||||
break
|
break
|
||||||
|
|
||||||
if platformtools.dialog_yesno(msg_header, config.get_localized_string(30031), config.get_localized_string(30032)):
|
if not platformtools.dialog_yesno(msg_header, config.get_localized_string(30031), config.get_localized_string(30032)):
|
||||||
progreso = platformtools.dialog_progress(msg_header, '')
|
progreso = platformtools.dialog_progress(msg_header, '')
|
||||||
dp_cerrado = False
|
dp_cerrado = False
|
||||||
break
|
break
|
||||||
@@ -610,7 +608,7 @@ def bt_client(mediaurl, xlistitem, rar_files, subtitle=None, password=None, item
|
|||||||
# Y borramos los archivos de descarga restantes
|
# Y borramos los archivos de descarga restantes
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
if filetools.exists(erase_file_path) and not bkg_user:
|
if filetools.exists(erase_file_path) and not bkg_user:
|
||||||
if finalizado and not platformtools.dialog_yesno(msg_header, '¿Borrarmos los archivos descargados? (completos)'):
|
if finalizado and not platformtools.dialog_yesno(msg_header, config.get_localized_string(70792)):
|
||||||
return
|
return
|
||||||
log("##### erase_file_path: %s" % erase_file_path)
|
log("##### erase_file_path: %s" % erase_file_path)
|
||||||
for x in range(10):
|
for x in range(10):
|
||||||
@@ -753,7 +751,7 @@ def wait_for_download(item, mediaurl, rar_files, torr_client, password='', size=
|
|||||||
filetools.basename(item.url)), silent=True)
|
filetools.basename(item.url)), silent=True)
|
||||||
|
|
||||||
# Esperamos mientras el .torrent se descarga. Verificamos si el .RAR está descargado al completo
|
# Esperamos mientras el .torrent se descarga. Verificamos si el .RAR está descargado al completo
|
||||||
platformtools.dialog_notification("Automatizando la extracción", "Acepta descargar el archivo RAR y te iremos guiando...", time=10000)
|
platformtools.dialog_notification(config.get_localized_string(70803), "", time=10000)
|
||||||
|
|
||||||
# Plan A: usar el monitor del cliente torrent para ver el status de la descarga
|
# Plan A: usar el monitor del cliente torrent para ver el status de la descarga
|
||||||
loop = 3600 # Loop de 10 horas hasta crear archivo
|
loop = 3600 # Loop de 10 horas hasta crear archivo
|
||||||
@@ -773,16 +771,15 @@ def wait_for_download(item, mediaurl, rar_files, torr_client, password='', size=
|
|||||||
return ('', '', folder) # Volvemos
|
return ('', '', folder) # Volvemos
|
||||||
if (torr_client in ['quasar'] or torr_client in ['elementum']) and not \
|
if (torr_client in ['quasar'] or torr_client in ['elementum']) and not \
|
||||||
torr_data['label'].startswith('0.00%') and not fast:
|
torr_data['label'].startswith('0.00%') and not fast:
|
||||||
platformtools.dialog_notification("Descarga en curso", "Puedes realizar otras tareas en Kodi mientrastanto. " + \
|
platformtools.dialog_notification(config.get_localized_string(60200), config.get_localized_string(70769), time=10000)
|
||||||
"Te informaremos...", time=10000)
|
|
||||||
fast = True
|
fast = True
|
||||||
if not torr_data['label'].startswith('100.00%'):
|
if not torr_data['label'].startswith('100.00%'):
|
||||||
log("##### Descargado: %s, ID: %s" % (scrapertools.find_single_match(torr_data['label'], '(^.*?\%)'), index))
|
log("##### Downloading: %s, ID: %s" % (scrapertools.find_single_match(torr_data['label'], '(^.*?\%)'), index))
|
||||||
time.sleep(wait_time)
|
time.sleep(wait_time)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
update_rar_control(rar_control['download_path'], status='downloaded')
|
update_rar_control(rar_control['download_path'], status='downloaded')
|
||||||
log("##### Torrent FINALIZADO: %s" % str(folder))
|
log("##### Torrent FINALIZED: %s" % str(folder))
|
||||||
return (rar_file, save_path_videos, folder)
|
return (rar_file, save_path_videos, folder)
|
||||||
|
|
||||||
# Plan B: monitorizar con UnRAR si los archivos se han desacargado por completo
|
# Plan B: monitorizar con UnRAR si los archivos se han desacargado por completo
|
||||||
@@ -834,7 +831,7 @@ def wait_for_download(item, mediaurl, rar_files, torr_client, password='', size=
|
|||||||
if returncode == '0': # Ya se ha descargado... parte ...
|
if returncode == '0': # Ya se ha descargado... parte ...
|
||||||
dl_files += 1
|
dl_files += 1
|
||||||
part_name = scrapertools.find_single_match(str(out__), '(\.part\d+.rar)')
|
part_name = scrapertools.find_single_match(str(out__), '(\.part\d+.rar)')
|
||||||
log("##### Torrent descargando: %s, %s" % (part_name, str(returncode)))
|
log("##### Torrent downloading: %s, %s" % (part_name, str(returncode)))
|
||||||
if dl_files == len(cmd): # ... o todo
|
if dl_files == len(cmd): # ... o todo
|
||||||
fast = True
|
fast = True
|
||||||
rar = False
|
rar = False
|
||||||
@@ -848,8 +845,7 @@ def wait_for_download(item, mediaurl, rar_files, torr_client, password='', size=
|
|||||||
#if loop == 30 and y == len(responses): # Si es la primera vez en proceso ...
|
#if loop == 30 and y == len(responses): # Si es la primera vez en proceso ...
|
||||||
if loop == 30 and y == 1: # Si es la primera vez en proceso ...
|
if loop == 30 and y == 1: # Si es la primera vez en proceso ...
|
||||||
if torr_client in ['quasar']:
|
if torr_client in ['quasar']:
|
||||||
platformtools.dialog_notification("Descarga en curso", "Puedes realizar otras tareas en Kodi mientrastanto. " + \
|
platformtools.dialog_notification(config.get_localized_string(60200), config.get_localized_string(70769), time=10000)
|
||||||
"Te informaremos...", time=10000)
|
|
||||||
loop_change = 3600 # ... pasamos a un loop de 10 horas
|
loop_change = 3600 # ... pasamos a un loop de 10 horas
|
||||||
elif loop <= 6: # Recuerado el error desconocido
|
elif loop <= 6: # Recuerado el error desconocido
|
||||||
loop_change = 3600 # ... pasamos a un loop de 10 horas
|
loop_change = 3600 # ... pasamos a un loop de 10 horas
|
||||||
@@ -857,16 +853,16 @@ def wait_for_download(item, mediaurl, rar_files, torr_client, password='', size=
|
|||||||
break
|
break
|
||||||
elif returncode == '1': # Ha alcanzado el fin de archivo ??? pasamos
|
elif returncode == '1': # Ha alcanzado el fin de archivo ??? pasamos
|
||||||
part_name = scrapertools.find_single_match(str(out__), '(\.part\d+.rar)')
|
part_name = scrapertools.find_single_match(str(out__), '(\.part\d+.rar)')
|
||||||
log("##### Torrent descargando: %s, %s" % (part_name, str(returncode)))
|
log("##### Torrent downloading: %s, %s" % (part_name, str(returncode)))
|
||||||
else: # No entendemos el error
|
else: # No entendemos el error
|
||||||
loop_change = loop_error # ... pasamos a un loop de 1 minutos para reintentar
|
loop_change = loop_error # ... pasamos a un loop de 1 minutos para reintentar
|
||||||
loop_error += -1
|
loop_error += -1
|
||||||
break #... abortamos
|
break #... abortamos
|
||||||
|
|
||||||
if str(returncode) in ['0', '6', '10']:
|
if str(returncode) in ['0', '6', '10']:
|
||||||
log("##### Torrent descargando: %s" % str(returncode))
|
log("##### Torrent downloading: %s" % str(returncode))
|
||||||
else:
|
else:
|
||||||
log("##### Torrent descargando: %s, %s" % (str(out__), str(returncode)))
|
log("##### Torrent downloading: %s, %s" % (str(out__), str(returncode)))
|
||||||
if not rar or fast:
|
if not rar or fast:
|
||||||
fast = False
|
fast = False
|
||||||
break
|
break
|
||||||
@@ -876,7 +872,7 @@ def wait_for_download(item, mediaurl, rar_files, torr_client, password='', size=
|
|||||||
break
|
break
|
||||||
|
|
||||||
if str(returncode) == '0':
|
if str(returncode) == '0':
|
||||||
log("##### Torrent FINALIZADO: %s" % str(returncode))
|
log("##### Torrent FINALIZED: %s" % str(returncode))
|
||||||
else:
|
else:
|
||||||
rar_file = ''
|
rar_file = ''
|
||||||
logger.error('##### Torrent NO DESCARGADO: %s, %s' % (str(out__), str(returncode)))
|
logger.error('##### Torrent NO DESCARGADO: %s, %s' % (str(out__), str(returncode)))
|
||||||
@@ -1011,7 +1007,7 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
rar_control = update_rar_control(erase_file_path, status='UnRARing')
|
rar_control = update_rar_control(erase_file_path, status='UnRARing')
|
||||||
|
|
||||||
# Permite hasta 5 pasadas de extracción de .RARs anidados
|
# Permite hasta 5 pasadas de extracción de .RARs anidados
|
||||||
platformtools.dialog_notification("Empezando extracción...", rar_file, time=5000)
|
platformtools.dialog_notification(config.get_localized_string(70793), rar_file, time=5000)
|
||||||
for x in range(5):
|
for x in range(5):
|
||||||
try:
|
try:
|
||||||
if not PY3:
|
if not PY3:
|
||||||
@@ -1019,11 +1015,11 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
else:
|
else:
|
||||||
archive = rarfile.RarFile(file_path)
|
archive = rarfile.RarFile(file_path)
|
||||||
except:
|
except:
|
||||||
log("##### ERROR en Archivo rar: %s" % rar_file)
|
log("##### ERROR in rar archive: %s" % rar_file)
|
||||||
log("##### ERROR en Carpeta del rar: %s" % file_path)
|
log("##### ERROR in rar folder: %s" % file_path)
|
||||||
log(traceback.format_exc())
|
log(traceback.format_exc())
|
||||||
error_msg = "Error al abrir el RAR"
|
error_msg = config.get_localized_string(70796)
|
||||||
error_msg1 = "Comprueba el log para más detalles"
|
error_msg1 = config.get_localized_string(60015)
|
||||||
platformtools.dialog_notification(error_msg, error_msg1)
|
platformtools.dialog_notification(error_msg, error_msg1)
|
||||||
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
||||||
return rar_file, False, '', ''
|
return rar_file, False, '', ''
|
||||||
@@ -1034,9 +1030,9 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
pass_path = filetools.split(file_path)[0]
|
pass_path = filetools.split(file_path)[0]
|
||||||
password = last_password_search(pass_path, erase_file_path)
|
password = last_password_search(pass_path, erase_file_path)
|
||||||
if not password :
|
if not password :
|
||||||
password = platformtools.dialog_input(heading="Introduce la contraseña (Mira en %s)" % pass_path)
|
password = platformtools.dialog_input(heading=config.get_localized_string(70794) % pass_path)
|
||||||
if not password:
|
if not password:
|
||||||
error_msg = "No se ha introducido la contraseña"
|
error_msg = config.get_localized_string(60309)
|
||||||
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
||||||
dp.close()
|
dp.close()
|
||||||
return custom_code.reactivate_unrar(init=False, mute=False)
|
return custom_code.reactivate_unrar(init=False, mute=False)
|
||||||
@@ -1056,10 +1052,10 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
|
|
||||||
info.append("%s - %.2f MB" % (filename, i.file_size / 1048576.0))
|
info.append("%s - %.2f MB" % (filename, i.file_size / 1048576.0))
|
||||||
if info:
|
if info:
|
||||||
info.append("Extraer todo sin reproducir")
|
info.append(config.get_localized_string(70801))
|
||||||
else:
|
else:
|
||||||
error_msg = "El RAR está vacío"
|
error_msg = config.get_localized_string(70797)
|
||||||
error_msg1 = "O no contiene archivos válidos"
|
error_msg1 = config.get_localized_string(70798)
|
||||||
platformtools.dialog_notification(error_msg, error_msg1)
|
platformtools.dialog_notification(error_msg, error_msg1)
|
||||||
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
||||||
dp.close()
|
dp.close()
|
||||||
@@ -1069,7 +1065,7 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
#selection = xbmcgui.Dialog().select("Selecciona el fichero a extraer y reproducir", info)
|
#selection = xbmcgui.Dialog().select("Selecciona el fichero a extraer y reproducir", info)
|
||||||
selection = len(info) - 1
|
selection = len(info) - 1
|
||||||
if selection < 0:
|
if selection < 0:
|
||||||
error_msg = "El RAR está vacío"
|
error_msg = config.get_localized_string(70797)
|
||||||
platformtools.dialog_notification(error_msg)
|
platformtools.dialog_notification(error_msg)
|
||||||
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
||||||
return rar_file, False, '', ''
|
return rar_file, False, '', ''
|
||||||
@@ -1079,26 +1075,26 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
if selection == len(info) - 1:
|
if selection == len(info) - 1:
|
||||||
log("##### rar_file 1: %s" % file_path)
|
log("##### rar_file 1: %s" % file_path)
|
||||||
log("##### save_path_videos 1: %s" % save_path_videos)
|
log("##### save_path_videos 1: %s" % save_path_videos)
|
||||||
dp.update(99, "Extrayendo archivos...", "Espera unos minutos....")
|
dp.update(99, config.get_localized_string(70803), config.get_localized_string(70802))
|
||||||
archive.extractall(save_path_videos)
|
archive.extractall(save_path_videos)
|
||||||
else:
|
else:
|
||||||
log("##### rar_file 2: %s" % file_path)
|
log("##### rar_file 2: %s" % file_path)
|
||||||
log("##### save_path_videos 2: %s" % save_path_videos)
|
log("##### save_path_videos 2: %s" % save_path_videos)
|
||||||
dp.update(99, "Espera unos minutos....", "Extrayendo archivo... %s" % info[selection])
|
dp.update(99, config.get_localized_string(70802), config.get_localized_string(70803) + " %s" % info[selection])
|
||||||
archive.extract(files[selection], save_path_videos)
|
archive.extract(files[selection], save_path_videos)
|
||||||
log("##### RAR Extract END #####")
|
log("##### RAR Extract END #####")
|
||||||
except (rarfile.RarWrongPassword, rarfile.RarCRCError):
|
except (rarfile.RarWrongPassword, rarfile.RarCRCError):
|
||||||
log(traceback.format_exc(1))
|
log(traceback.format_exc(1))
|
||||||
error_msg = "Error al extraer"
|
error_msg = config.get_localized_string(70799)
|
||||||
error_msg1 = "Contraseña incorrecta"
|
error_msg1 = config.get_localized_string(60309)
|
||||||
platformtools.dialog_notification(error_msg, error_msg1)
|
platformtools.dialog_notification(error_msg, error_msg1)
|
||||||
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg1, status='ERROR')
|
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg1, status='ERROR')
|
||||||
dp.close()
|
dp.close()
|
||||||
return custom_code.reactivate_unrar(init=False, mute=False)
|
return custom_code.reactivate_unrar(init=False, mute=False)
|
||||||
except rarfile.BadRarFile:
|
except rarfile.BadRarFile:
|
||||||
log(traceback.format_exc(1))
|
log(traceback.format_exc(1))
|
||||||
error_msg = "Error al extraer"
|
error_msg = config.get_localized_string(70799)
|
||||||
error_msg1 = "Archivo rar con errores"
|
error_msg1 = config.get_localized_string(60800)
|
||||||
platformtools.dialog_notification(error_msg, error_msg1)
|
platformtools.dialog_notification(error_msg, error_msg1)
|
||||||
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg1, status='ERROR')
|
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg1, status='ERROR')
|
||||||
#return rar_file, False, '', erase_file_path
|
#return rar_file, False, '', erase_file_path
|
||||||
@@ -1106,8 +1102,8 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
return custom_code.reactivate_unrar(init=False, mute=False)
|
return custom_code.reactivate_unrar(init=False, mute=False)
|
||||||
except:
|
except:
|
||||||
log(traceback.format_exc(1))
|
log(traceback.format_exc(1))
|
||||||
error_msg = "Error al extraer"
|
error_msg = config.get_localized_string(70799)
|
||||||
error_msg1 = "Comprueba el log para más detalles"
|
error_msg1 = config.get_localized_string(60015)
|
||||||
platformtools.dialog_notification(error_msg, error_msg1)
|
platformtools.dialog_notification(error_msg, error_msg1)
|
||||||
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
||||||
dp.close()
|
dp.close()
|
||||||
@@ -1142,7 +1138,7 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
save_path_videos = filetools.join(save_path_videos, 'Extracted')
|
save_path_videos = filetools.join(save_path_videos, 'Extracted')
|
||||||
rar_control = update_rar_control(erase_file_path, newextract=(rar_file))
|
rar_control = update_rar_control(erase_file_path, newextract=(rar_file))
|
||||||
if not filetools.exists(save_path_videos): filetools.mkdir(save_path_videos)
|
if not filetools.exists(save_path_videos): filetools.mkdir(save_path_videos)
|
||||||
platformtools.dialog_notification("Siguiente extracción...", rar_file, time=5000)
|
platformtools.dialog_notification(config.get_localized_string(70804), rar_file, time=5000)
|
||||||
|
|
||||||
# Si ya se ha extraido todo, preparamos el retorno
|
# Si ya se ha extraido todo, preparamos el retorno
|
||||||
else:
|
else:
|
||||||
@@ -1151,16 +1147,16 @@ def extract_files(rar_file, save_path_videos, password, dp, item=None, \
|
|||||||
if os.path.splitext(file_r)[1] in extensions_list:
|
if os.path.splitext(file_r)[1] in extensions_list:
|
||||||
video_list += [file_r]
|
video_list += [file_r]
|
||||||
if len(video_list) == 0:
|
if len(video_list) == 0:
|
||||||
error_msg = "El rar está vacío"
|
error_msg = config.get_localized_string(70797)
|
||||||
error_msg1 = "O no contiene archivos válidos"
|
error_msg1 = config.get_localized_string(70798)
|
||||||
platformtools.dialog_notification(error_msg, error_msg1)
|
platformtools.dialog_notification(error_msg, error_msg1)
|
||||||
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
rar_control = update_rar_control(erase_file_path, error=True, error_msg=error_msg, status='ERROR')
|
||||||
dp.close()
|
dp.close()
|
||||||
return custom_code.reactivate_unrar(init=False, mute=False)
|
return custom_code.reactivate_unrar(init=False, mute=False)
|
||||||
else:
|
else:
|
||||||
log("##### Archivo extraído: %s" % video_list[0])
|
log("##### Archive extracted: %s" % video_list[0])
|
||||||
platformtools.dialog_notification("Archivo extraído...", video_list[0], time=10000)
|
platformtools.dialog_notification(config.get_localized_string(70795), video_list[0], time=10000)
|
||||||
log("##### Archivo remove: %s" % file_path)
|
log("##### Archive removes: %s" % file_path)
|
||||||
#rar_control = update_rar_control(erase_file_path, status='DONE')
|
#rar_control = update_rar_control(erase_file_path, status='DONE')
|
||||||
ret = filetools.remove(filetools.join(erase_file_path, '_rar_control.json'), silent=True)
|
ret = filetools.remove(filetools.join(erase_file_path, '_rar_control.json'), silent=True)
|
||||||
return str(video_list[0]), True, save_path_videos, erase_file_path
|
return str(video_list[0]), True, save_path_videos, erase_file_path
|
||||||
@@ -1239,7 +1235,7 @@ def last_password_search(pass_path, erase_file_path=''):
|
|||||||
except:
|
except:
|
||||||
log(traceback.format_exc(1))
|
log(traceback.format_exc(1))
|
||||||
|
|
||||||
log("##### Contraseña extraída: %s" % password)
|
log("##### Password Extracted: %s" % password)
|
||||||
return password
|
return password
|
||||||
|
|
||||||
|
|
||||||
@@ -1354,4 +1350,3 @@ def log(texto):
|
|||||||
xbmc.log(texto, xbmc.LOGNOTICE)
|
xbmc.log(texto, xbmc.LOGNOTICE)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
Reference in New Issue
Block a user