Página 2 de 19
Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 09:50
por neno1978
Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 10:36
por jesus
robalo escribió:He empezado probando la table de la jefa y ha funcionado muy bien, el único problema es, al igual que las rasp, el modo 'storage_mode_allocate' hace que las semillas caigan en picado, se tiene que usar el 'storage_mode_sparse' como el que se usa para los mkv y la capacidad, se tendrá que usar unidades de red para el almacenamiento o usb si la tarjeta sd está al límite que posiblemente lo esté. Tenemos que ver como usar samba, si la librería lo permite, para las descargas sin usar un archivo temporal.
Ahora me pondré y lo probaré el módulo como librería de la carpeta lib en windows.
Si DiMartino te da el visto bueno tendremos libtorrent para plataformas más usadas

Me ha contestado que adelante, y que le confirmemos cuando esté hecho para ponernos en el README como "Proyectos que lo usan"
Su add-on lo que parece hacer es descargar el binario apropiado para tu plataforma, y además mantenerlo actualizado directamente desde su Github por si salen nuevas versiones.
Podemos hacer algo así, o incluso copiar la última versión de los binarios y ponerla dentro del ZIP.
Vosotros sois los maestros del torrent, os toca decidir

Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 14:09
por robalo
Pues nos tendremos que poner al tajo
EDITO: Se me pasaba, Muchas gracias a DiMartino!!
Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 14:49
por neno1978
GRANDE DIMARTINI!!!

Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 15:29
por SeiTaN
Martini es otra cosa, cougghborachocougghh

Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 16:00
por neno1978
Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 19:43
por jtm010101
reemplazamos las referencias a la librería libtorrent. Lo que antes era
Ahora debería ser
Código: Seleccionar todo
from python_libtorrent import get_libtorrent
lt = get_libtorrent()
Se reinicia kodi y listo.

Si por lo que sea no funciona comprobamos que el módulo esté activo.
Recordar renombrar el libtorrente.pyd o . so que estemos usando para asegurarnos de que se usa el del módulo.
Así de fácil

Me podrias ayudar esta parte no se donde ponerlo o archivos que tengo que modificar
GRACIAS
Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 23:32
por neno1978
Si tienes 4.1.1 de pelis no tienes q modificar nada, solo instalar el script de DiMartino y , eso si, en addon.xml de la raíz de pelis editar.
Si estás n la anterior, q parece q si, es entonces cuando tienes que hacer esas modificaciones sobre mct.py que se encuentra en el directorio platformcore de la raíz de pelis. Lo de renombrar solo es necesario, y tampoco imprescindible, si anteriormente has intentado añadir por tu cuenta el libtorrent y tienes un libtorrent.so o pyd antiguo en el mismo directorio

Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 11 Jul 2016, 23:59
por robalo
He estado probado y de momento la forma más fácil para incluirlo en la carpeta lib sería:
· Crear una carpeta "lib/python_libtorrent" y añadir un __init__.py personalizado reutilizando código de los script de DiMartino
· Crear todas las carpetas de los OS+arch: "lib/android_armv7", "lib/android_x86", "lib/darwin", ....
· Añadir un __init__.py sin datos en las carpetas OS+arch
· Elegir la versión libtorrent que mejor funcione en cada OS+arch, extraerla del zip y pegar la que le correspoda: "lib/android_armv7/libtorrent.so", "lib/android_86/libtorrent.so", "lib/darwin/libtorrent.so", ...
__init__.py personalizado
Código: Seleccionar todo
#-*- coding: utf-8 -*-
'''
Torrenter v2 plugin
Copyright (C) 2015 srg70, RussakHH, DiMartino
'''
import sys
import os
def get_platform():
ret = {
"arch": sys.maxsize > 2 ** 32 and "x64" or "x86",
}
platform = sys.platform
if platform == "linux3":
ret["os"] = "android"
if "arm" in os.uname()[4] or "aarch64" in os.uname()[4]:
ret["arch"] = "arm"
elif platform == "linux2":
ret["os"] = "linux"
uname=os.uname()[4]
if "arm" in uname:
if "armv7" in uname:
ret["arch"] = "armv7"
elif "armv6" in uname:
ret["arch"] = "armv6"
else:
ret["arch"] = "arm"
elif "win" in platform:
ret["os"] = "windows"
elif platform == "darwin":
ret["os"] = "darwin"
elif platform == "ios":
ret["os"] = "ios"
ret["arch"] = "arm"
ret=get_system(ret)
return ret
def get_system(ret):
ret["system"] = ''
if ret["os"] == 'windows':
ret["system"] = 'windows'
elif ret["os"] == "linux" and ret["arch"] == "x64":
ret["system"] = 'linux_x86_64'
elif ret["os"] == "linux" and ret["arch"] == "x86":
ret["system"] = 'linux_x86'
elif ret["os"] == "linux" and "arm" in ret["arch"]:
ret["system"] = 'linux_'+ret["arch"]
elif ret["os"] == "android":
if ret["arch"]=='arm':
ret["system"] = 'android_armv7'
else:
ret["system"] = 'android_x86'
elif ret["os"] == "darwin":
ret["system"] = 'darwin'
elif ret["os"] == "ios" and ret["arch"] == "arm":
ret["system"] = 'ios_arm'
return ret
platform = get_platform()['system']
exec "from " + platform + " import libtorrent"
def get_libtorrent():
return libtorrent
Hecho todo lo anterior debería funcionar en todos. Sólo lo he probado en windows, mañana probaré en ubuntu, raspberry y tablet android.
EDITO: Como notaréis, no se usa xbmc para saber que SO se está usando. Lo he cambiado por sys.platform. Queda por saber lo que entrega con darwin e ios. Los que hay puestos me lo he inventado
RE EDITO: Falta añadir las descargas de algunas dependencias para algunos SO "liblibtorrente.so"
NUEVO SCRIPT EDITADO en
viewtopic.php?f=14&t=7708&p=32863#p32863 (
Nuevo __init__.py personalizado con una nueva corrección)
NUEVO SCRIPT RE-EDITADO POR NENO en
viewtopic.php?f=14&t=7708&start=40#p32961 (
Nuevo __init__.py personalizado con otra nueva corrección)
Re: usar binarios script.module.libtorrent by DiMartino
Publicado: 12 Jul 2016, 06:37
por robalo
Aprovechano el "fresco" de la mañana me he puesto con table y me ha funcionado haciendo lo del post anterior con una pequeña excepción en las carpetas "lib/android_armv7" y "lib/android_x86".
robalo escribió:RE EDITO: Falta añadir las descargas de algunas dependencias para algunos SO "liblibtorrente.so"
Este comentario es erróneo. Lo escribí de memoría de una lectura rápida a los script que hice el otro día. Hoy lo he mirado despacio y he visto que sólo afecta a android y que necesita como una "precarga" de la librería.
La excepción para las carpetas "lib/android_armv7" y "lib/android_x86" es
· Añadir una copia renombrada a "liblibtorrent.so" de la versión libtorrent que mejor funcione para android+arch en las carpetas "lib/android_armv7" y "lib/android_x86": "lib/android_armv7/liblibtorrent.so" y "lib/android_86/liblibtorrent.so"
Queda por saber que nos entrega "sys.platform" en darwin e ios