Fix Torrent
This commit is contained in:
@@ -311,7 +311,7 @@ def set_setting(name, value, channel="", server=""):
|
||||
canal 'channel'.
|
||||
Devuelve el valor cambiado o None si la asignacion no se ha podido completar.
|
||||
|
||||
Si se especifica el nombre del canal busca en la ruta \addon_data\plugin.video.alfa\settings_channels el
|
||||
Si se especifica el nombre del canal busca en la ruta \addon_data\plugin.video.kod\settings_channels el
|
||||
archivo channel_data.json y establece el parametro 'name' al valor indicado por 'value'. Si el archivo
|
||||
channel_data.json no existe busca en la carpeta channels el archivo channel.json y crea un archivo channel_data.json
|
||||
antes de modificar el parametro 'name'.
|
||||
|
||||
@@ -29,7 +29,7 @@ def init():
|
||||
"""
|
||||
Todo el código añadido al add-on se borra con cada actualización. Esta función permite restaurarlo automáticamente con cada actualización. Esto permite al usuario tener su propio código, bajo su responsabilidad, y restaurarlo al add-on cada vez que se actualiza.
|
||||
|
||||
El mecanismo funciona copiando el contenido de la carpeta-arbol "./userdata/addon_data/plugin.video.alfa/custom_code/..." sobre
|
||||
El mecanismo funciona copiando el contenido de la carpeta-arbol "./userdata/addon_data/plugin.video.kod/custom_code/..." sobre
|
||||
las carpetas de código del add-on. No verifica el contenido, solo vuelca(reemplaza) el contenido de "custom_code".
|
||||
|
||||
El usuario almacenará en las subcarpetas de "custom_code" su código actualizado y listo para ser copiado en cualquier momento.
|
||||
@@ -42,7 +42,7 @@ def init():
|
||||
from platformcode import custom_code
|
||||
custom_code.init()
|
||||
|
||||
2.- En el inicio de Kodi, comprueba si existe la carpeta "custom_code" en "./userdata/addon_data/plugin.video.alfa/".
|
||||
2.- En el inicio de Kodi, comprueba si existe la carpeta "custom_code" en "./userdata/addon_data/plugin.video.kod/".
|
||||
Si no existe, la crea y sale sin más, dando al ususario la posibilidad de copiar sobre esa estructura su código,
|
||||
y que la función la vuelque sobre el add-on en el próximo inicio de Kodi.
|
||||
|
||||
@@ -63,7 +63,7 @@ def init():
|
||||
|
||||
try:
|
||||
#Borra el .zip de instalación de Alfa de la carpeta Packages, por si está corrupto, y que así se pueda descargar de nuevo
|
||||
version = 'plugin.video.alfa-%s.zip' % config.get_addon_version(with_fix=False)
|
||||
version = 'plugin.video.kod-%s.zip' % config.get_addon_version(with_fix=False)
|
||||
filetools.remove(filetools.join(xbmc.translatePath('special://home'), 'addons', 'packages', version), True)
|
||||
|
||||
#Verifica si Kodi tiene algún achivo de Base de Datos de Vídeo de versiones anteriores, entonces los borra
|
||||
|
||||
@@ -155,7 +155,7 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
e = e1 or e2
|
||||
do.ok(config.get_localized_string(30035) + 'MCT Libtorrent', config.get_localized_string(30036), config.get_localized_string(60015), str(e))
|
||||
return
|
||||
|
||||
|
||||
log("XXX libtorrent version: %s" % lt.version)
|
||||
log("##### Torrent file: %s ##" % torrent_file)
|
||||
|
||||
@@ -279,7 +279,7 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
extracted_rar = False
|
||||
global erase_file_path
|
||||
erase_file_path = ''
|
||||
|
||||
|
||||
if _video_file_ext == ".rar":
|
||||
rar = True
|
||||
filename = video_file
|
||||
@@ -361,7 +361,7 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
dp_cerrado = True
|
||||
dp = xbmcgui.DialogProgress()
|
||||
dp.create(msg_header)
|
||||
|
||||
|
||||
# -- Recuperar los datos del progreso -------------------
|
||||
message, porcent, msg_file, s, download = getProgress(h, video_file, _pf=_pieces_info)
|
||||
|
||||
@@ -377,12 +377,12 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
video_file, rar, play_file, erase_path = torr.extract_files(video_file, \
|
||||
save_path_videos, password, dp, item=item, torr_client='MCT') # ... extraemos el vídeo del RAR
|
||||
dp.close()
|
||||
|
||||
|
||||
erase_file_path = erase_path
|
||||
ren_video_file = erase_file_path
|
||||
extracted_rar = rar
|
||||
if not play_file:
|
||||
remove_files( download, torrent_file, erase_file_path, ses, h, ren_video_file )
|
||||
remove_files( download, torrent_file, erase_file_path, ses, h, ren_video_file, erase_file_path )
|
||||
return
|
||||
is_view = "Ok"
|
||||
save_path_videos = play_file
|
||||
@@ -417,14 +417,14 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
if not bkg_user:
|
||||
is_view = "Ok"
|
||||
else:
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file )
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file, erase_file_path )
|
||||
return
|
||||
|
||||
if is_view == "Ok":
|
||||
# -- Esperando a que termine otra reproducción --------------------------
|
||||
while xbmc.Player().isPlaying():
|
||||
xbmc.sleep(3000)
|
||||
|
||||
|
||||
# -- Player - Ver el vídeo --------------------------
|
||||
playlist = xbmc.PlayList( xbmc.PLAYLIST_VIDEO )
|
||||
playlist.clear()
|
||||
@@ -552,21 +552,21 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
player.pause()
|
||||
is_greater_num_pieces_pause = False
|
||||
is_greater_num_pieces_canceled = 0
|
||||
|
||||
|
||||
# -- El usuario cancelo el visionado --------
|
||||
# -- Terminar -
|
||||
if player.ended:
|
||||
# -- Diálogo eliminar archivos ----------
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file )
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file, erase_file_path )
|
||||
return
|
||||
|
||||
|
||||
xbmc.sleep(1000)
|
||||
|
||||
|
||||
# -- Kodi - Se cerró el visionado -----------------------
|
||||
# -- Continuar | Terminar -
|
||||
if is_view == "Ok" and not xbmc.Player().isPlaying():
|
||||
dp.close()
|
||||
|
||||
|
||||
if h.status().num_pieces < tot_piece_set:
|
||||
# -- Diálogo continuar o terminar ---------------
|
||||
# Preguntamos si el usuario quiere pasar a backgroung
|
||||
@@ -579,12 +579,12 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
dp_cerrado = False
|
||||
dp = xbmcgui.DialogProgressBG()
|
||||
dp.create(msg_header)
|
||||
|
||||
|
||||
else:
|
||||
# -- Terminar: ----------------------------------
|
||||
# -- Comprobar si el vídeo pertenece a una ------
|
||||
# -- lista de archivos -
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file )
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file, erase_file_path )
|
||||
dp.close()
|
||||
return
|
||||
"""
|
||||
@@ -592,7 +592,7 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
if _index < 0 or len_files == 1:
|
||||
# -- Diálogo eliminar archivos --------------
|
||||
#video_file = _video_file
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file )
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file, erase_file_path )
|
||||
dp.close()
|
||||
return
|
||||
else:
|
||||
@@ -620,10 +620,10 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
dp = xbmcgui.DialogProgressBG()
|
||||
dp.create(msg_header)
|
||||
if ses_lt: h.set_download_limit(DOWNLOAD_LIMIT)
|
||||
|
||||
|
||||
else:
|
||||
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file )
|
||||
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file, erase_file_path )
|
||||
return
|
||||
# -- Comprobar si el vídeo pertenece a una lista de -
|
||||
# -- archivos -
|
||||
@@ -631,7 +631,7 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
if _index < 0 or len_files == 1:
|
||||
# -- Diálogo eliminar archivos ------------------
|
||||
#video_file = _video_file
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file )
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file, erase_file_path )
|
||||
return
|
||||
else:
|
||||
# -- Lista de archivos. Diálogo de opciones -----
|
||||
@@ -645,7 +645,7 @@ def play(url, xlistitem={}, is_view=None, subtitle="", password="", item=None):
|
||||
if is_view == "Ok" and not xbmc.Player().isPlaying():
|
||||
dp.close()
|
||||
# -- Diálogo eliminar archivos --------------------------
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file )
|
||||
remove_files( download, torrent_file, video_file, ses, h, ren_video_file, erase_file_path)
|
||||
|
||||
return
|
||||
|
||||
@@ -758,7 +758,7 @@ def get_video_files_sizes( info ):
|
||||
if "/" in _file_name: _file_name = _file_name.split('/')[1]
|
||||
|
||||
_file_ext = os.path.splitext( _title )[1]
|
||||
|
||||
|
||||
if '.rar' in _file_ext or '.zip' in _file_ext:
|
||||
rar_parts += 1
|
||||
rar_size += _size
|
||||
@@ -797,7 +797,7 @@ def get_video_files_sizes( info ):
|
||||
return index, vfile_name[seleccion], vfile_size[seleccion], len(opciones)
|
||||
|
||||
# -- Preguntar si se desea borrar lo descargado -----------------
|
||||
def remove_files( download, torrent_file, video_file, ses, h, ren_video_file="" ):
|
||||
def remove_files( download, torrent_file, video_file, ses, h, ren_video_file="", erase_file_path='' ):
|
||||
dialog_view = False
|
||||
torrent = False
|
||||
|
||||
@@ -809,15 +809,12 @@ def remove_files( download, torrent_file, video_file, ses, h, ren_video_file=""
|
||||
dialog_view = True
|
||||
if bkg_user and not extracted_rar:
|
||||
dialog_view = False
|
||||
|
||||
if erase_file_path and erase_file_path != \
|
||||
os.path.join( DOWNLOAD_PATH , "MCT-torrent-videos" ):
|
||||
|
||||
if erase_file_path and erase_file_path != os.path.join( DOWNLOAD_PATH , "MCT-torrent-videos" ):
|
||||
ren_video_file = erase_file_path
|
||||
if filetools.isfile(ren_video_file) and filetools.split(ren_video_file)[0] != \
|
||||
os.path.join( DOWNLOAD_PATH , "MCT-torrent-videos" ):
|
||||
if filetools.isfile(ren_video_file) and filetools.split(ren_video_file)[0] != os.path.join( DOWNLOAD_PATH , "MCT-torrent-videos" ):
|
||||
ren_video_file = filetools.split(ren_video_file)[0]
|
||||
elif filetools.isdir(ren_video_file) and ren_video_file == \
|
||||
os.path.join( DOWNLOAD_PATH , "MCT-torrent-videos" ):
|
||||
elif filetools.isdir(ren_video_file) and ren_video_file == os.path.join( DOWNLOAD_PATH , "MCT-torrent-videos" ):
|
||||
ren_video_file = ''
|
||||
|
||||
if dialog_view and ren_video_file:
|
||||
@@ -844,7 +841,7 @@ def remove_files( download, torrent_file, video_file, ses, h, ren_video_file=""
|
||||
try:
|
||||
if os.path.isdir(ren_video_file):
|
||||
filetools.rmdirtree(ren_video_file, silent=True)
|
||||
elif os.path.exists(ren_video_file) and os.path.isfile(ren_video_file):
|
||||
elif os.path.exists(ren_video_file) and os.path.isfile(ren_video_file):
|
||||
os.remove(ren_video_file)
|
||||
log("##### erase_file_path: %s" % ren_video_file)
|
||||
except:
|
||||
@@ -874,7 +871,7 @@ def remove_files( download, torrent_file, video_file, ses, h, ren_video_file=""
|
||||
pass
|
||||
log("### End session #########")
|
||||
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
# -- Descargar de la web los datos para crear el torrent --------
|
||||
|
||||
@@ -1267,10 +1267,9 @@ def play_torrent(item, xlistitem, mediaurl):
|
||||
|
||||
# Si es Libtorrent y no está soportado, se ofrecen alternativas, si las hay...
|
||||
if seleccion < 2 and not LIBTORRENT:
|
||||
dialog_ok('Cliente Interno (LibTorrent):', 'Este cliente no está soportado en su dispositivo.', \
|
||||
'Error: [COLOR yellow]%s[/COLOR]' % config.get_setting("libtorrent_error", server="torrent",
|
||||
default=''), \
|
||||
'Use otro cliente Torrent soportado')
|
||||
dialog_ok(config.get_localized_string(30033), config.get_localized_string(70774), \
|
||||
config.get_localized_string(70774) % config.get_setting("libtorrent_error", server="torrent", default=''), \
|
||||
config.get_localized_string(70776))
|
||||
if len(torrent_options) > 2:
|
||||
seleccion = dialog_select(config.get_localized_string(70193), [opcion[0] for opcion in torrent_options])
|
||||
if seleccion < 2:
|
||||
@@ -1280,14 +1279,8 @@ def play_torrent(item, xlistitem, mediaurl):
|
||||
# Si es Torrenter o Elementum con opción de Memoria, se ofrece la posibilidad ee usar Libtorrent temporalemente
|
||||
elif seleccion > 1 and LIBTORRENT and UNRAR and 'RAR-' in item.torrent_info and (
|
||||
"torrenter" in torrent_options[seleccion][0] \
|
||||
or ("elementum" in torrent_options[seleccion][0] and xbmcaddon.Addon(id="plugin.video.%s" \
|
||||
% torrent_options[seleccion][
|
||||
0].replace('Plugin externo: ',
|
||||
'')).getSetting(
|
||||
'download_storage') == '1')):
|
||||
if dialog_yesno(torrent_options[seleccion][0], 'Este plugin externo no soporta extraer on-line archivos RAR', \
|
||||
'[COLOR yellow]¿Quiere que usemos esta vez el Cliente interno MCT?[/COLOR]', \
|
||||
'Esta operación ocupará en disco [COLOR yellow][B]%s+[/B][/COLOR] veces el tamaño del vídeo' % size_rar):
|
||||
or ("elementum" in torrent_options[seleccion][0] and xbmcaddon.Addon(id="plugin.video.%s" % torrent_options[seleccion][0].replace('Plugin externo: ','')).getSetting('download_storage') == '1')):
|
||||
if dialog_yesno(torrent_options[seleccion][0], config.get_localized_string(70777), config.get_localized_string(70778), config.get_localized_string(70779) % size_rar):
|
||||
seleccion = 1
|
||||
else:
|
||||
return
|
||||
@@ -1296,11 +1289,7 @@ def play_torrent(item, xlistitem, mediaurl):
|
||||
torrent_options[seleccion][0] \
|
||||
and xbmcaddon.Addon(id="plugin.video.%s" % torrent_options[seleccion][0].replace('Plugin externo: ', '')) \
|
||||
.getSetting('download_storage') == '1':
|
||||
if dialog_yesno(torrent_options[seleccion][0],
|
||||
'Elementum con descarga en [COLOR yellow]Memoria[/COLOR] no soporta ' + \
|
||||
'extraer on-line archivos RAR (ocupación en disco [COLOR yellow][B]%s+[/B][/COLOR] veces)' % size_rar, \
|
||||
'[COLOR yellow]¿Quiere llamar a los Ajustes de Elementum para cambiar [B]temporalmente[/B] ' + \
|
||||
'a [COLOR hotpink]"Usar Archivos"[/COLOR] y [B]reintentarlo[/B]?[/COLOR]'):
|
||||
if dialog_yesno(torrent_options[seleccion][0], congig.get_localized_string(70780) % size_rar, congig.get_localized_string(70781)):
|
||||
__settings__ = xbmcaddon.Addon(
|
||||
id="plugin.video.%s" % torrent_options[seleccion][0].replace('Plugin externo: ', ''))
|
||||
__settings__.openSettings() # Se visulizan los Ajustes de Elementum
|
||||
|
||||
Reference in New Issue
Block a user