domingo, 7 de noviembre de 2010

Helper para Jdownloader en Docky

La idea es sencilla. Docky tiene un helper (un pequeño complemento) para Transmision, de tal forma que, cuando se ha comenzado un descarga, se muestra la velocidad de descarga en el icono de la barra. No está nada mal poder ver con un simple golpe de vista que tal van la descarga.

     Como desde hace un tiempo las descargas directas están ganando a los métodos de compartir P2P, como los torrents; así que, apoyado en el sistema original del helper para Transmission, he creado uno para JDownloader con alguna propiedad más.
    Espero que disfrutéis del complemento.



    ¿Qué aporta este Helper?
    Los helper o ayudantes son pequeñas aplicaciones escritas en python que pueden hacer pequeñas modificaciones a la barra de tareas Docky.
    En este caso se añaden las cualidades:En el icono se añade un Badge (insignia) que informa de la velocidad a la que se está descargando.
    • En el caso de estar esperando la insignia, mostrará el tiempo restante.
    • En un menú del icono se añadirá la opción de comenzar y detener descargas
    • Se añade en el menú la opción de reiniciar conexión.
    • Dentro del menú, en un apartado de descargas, se mostrará una lista de todos los paquetes que se están descargando, su nombre y porcentaje. En él se mostrarán con iconos 'Play' cuando se encuentre descargando, 'Reloj' cuando esté esperando continuar con la descarga y 'Verificado' cuando la descarga esté finalizada.
    El ayudante está basado completamente en el original para Transmission, por lo tanto su funcionamiento es muy similar.
    JDownloader al igual que Transmission crean una interfaz web. Esta aplicación, por medio de python, lo que hace es recoger la pagina web y recortar el texto de la misma para plasmarlo en el menú e iconos. Puede parecer un sistema muy rudimentario, pero es sencillo y eficiente, espero que viendo este otro ejemplo os animéis.

    Pero vayamos paso a paso, por si hay alguien nuevo.

    Instalación JDownloader
    Por desgracia JDownloader no se encuentra en repositorio, pero su instalación es sencilla. Tan sólo necesitáis tener instalado java (os recomiendo que instaléis los extras restringidos en el cual está incluido).
    Si entráis en la Web de JDownloader, en su sección de descargas, seleccionando Linux, os dará la opción de descargar un archivo jd.sh. Descargadlo y dejadlo por ejemplo en vuestro home (este archivo será el que enjutemos siempre para arrancar el programa, por lo que es preferible que no este en un sitio molesto).
    Pulsad con el botón derecho sobre el para seleccionar las propiedades del archivo y, en la pestaña 'Permisos', seleccionad la casilla 'Permitir ejecutar el archivo como un programa'.
    Haciendo doble click y en ejecución comenzará la instalación, actualización y ejecución del programa. Hazlo, para ver que funciona antes de continuar.
    Ahora falta que aparezca en el menú de aplicaciones como cualquier otra. Para crear un lanzador de aplicación abrid "Sistema -> Preferencias -> Menú principal", seleccionad el apartado "Internet" (o el que prefiráis), pulsad elemento nuevo y rellenad los campos.
    Tipo: Aplicación
    Nombre: JDownloader
    Icono¹: .jd/jd/img/logo/jd_logo_256_256.png
    Comando²: sh jd.sh
    Comentario: Gestor de descargas directas JDownloader

    1: Si ya has ejecutado la aplicación una vez podrás encontrar en esta dirección varias imágenes del logo.
    2: Si no has dejado el archivo en tu home, examina para encontrar el archivo y añade al principio 'sh '.
    Instalar Docky
    Éste, sin duda, es más sencillo de instalar. Al pulsar el enlace Instalar Docky, el gestor de aplicaciones se te abrirá y se encargará de su completa instalación.
    Si quieres una versión más actual es necesario que instales los repositorios PPA docky core (los que no quieran utilizar la terminal podrán utilizar aplicaciones como "Ubuntu Tweak"). En cualquier caso no es complicado abrir una terminal y ejecutar:
    sudo add-apt-repository ppa:docky-core/stable
    sudo apt-get update
    sudo apt-get install docky
    Llegados a este punto considero que habéis finalizado con éxito la instalación de Docky y JDownloader.

    Preparar JDownloader
    Al igual que el helper de Transmission, éste toma la información de cómo se encuentran las descargas desde su Interfaz Web. La interfaz web es una pagina web que crea el programa para poderse controlar desde un ordenador con un simple navegador. Ahora es cuando tenéis que tener en cuenta ciertos aspectos importantes de seguridad y privacidad:
    • Cualquier ordenador conectado a vuestra red podrá ver y gestionar ( parar, añadir, reiniciar, borrar...) las descargas por medio de esa web.
    • Si vuestro router permite el acceso al puerto 8765, cualquier persona del exterior podría gestionar el programa.
    • Pese a que por defecto la "Interfaz Web" tiene una contraseña y usuario, me he visto en la necesidad de quitarlas para hacer funcionar el helper.
    Dicho esto que cada uno decida bajarse del barco o continuar. Los que continúen, que abran Jdownloader y en su menú Abran 0 Complementos->Administración Complementos.

    Verificar la casilla que diga "JD Interfaz Web" si no habéis cambiado el idioma aún.
    Del desplegable podréis ver el nuevo complemento, modificar desmarcando como ya he dicho la opción "Autentificación de usuario necesaria". Para terminar la instalación del complemento es necesario reiniciar JDownloader.



    Instalar helper
    Y después de 3 apartados es cuando comienza mi humilde contribución.
    Descargar este archivo JDownloader-Docky-Helper.zip. En él podéis ver una estructura de una carpeta llamada 'dockmanager'. Dentro de ella dos más, 'metadata' y 'scripts' con un archivo en cada una de ellas.
    Estos archivos deben de colocarse en una carpeta que encontrarás oculta en tu home.
    Abrir el home. Para ver o dejar de ver los archivos ocultos pulsar Ctrl+H. Entre todas las carpetas que ahora comienzan por punto, deberéis abrir '.local' y, dentro de ésta, 'share'.
    En la carpeta 'share' deberíais encontrar una carpeta llamada 'dockmanager'. Dentro de ésta, deberéis copiar con la misma estructura de carpetas que se muestra en el zip los dos archivos, si las carpeta no existieran creadlas.
    Si reiniciáis Docky podréis seleccionar el nuevo 'Helper' (Ayudante), pulsando con el click derecho sobre la barra. Entrando en Configuración, en la pestaña 'Ayudantes', podréis encontrar un icono denominado JDownloader, activadlo y, desde ahora, ya tendréis la información de vuestras descargas siempre visible.

    Bugs y features
    • La lista de Paquetes descargándose no tiene ninguna acción aunque pulséis en ellas, son lineas meramente informativas. Sé que estaría bien que se pudiera abrir la carpeta contenedora al hacer click, pero desde la interfaz web no se recibe esa información.
    • El icono de JDownloader se ve borroso en la barra de docky. Las aplicaciones Java por defecto no muestran bien los iconos. Es un bug, se ha de modificar el lanzador de la aplicación que encontrareis en .local/share/applications añadiendo la linea "StartupWMClass=jd-Main". Fuente.
    • De un paquete, se considera que se ha llegado al 100% pese a que algunas partes hubieran tenido un error. Frente a esto no puedo hacer nada, es cosa de JDownloader.
    • Aveces, al abrir el menú, no aparecen todas o parte de las opciones. Es una cuestión del refresco, cuando recoge la información pude dar la casualidad de que se abra el menú a mitad de su escritura. He intentado reducir al máximo esta cuestión.
    • Las entrada del menú (Comenzar/Detener y Reiniciar conexión) a veces no ejecuta la acción. Parece que es debido al tiempo de refresco de éstas. A diferencia de la insignia, éstos se actualizan pasado un tiempo mucho mayor para evitar este problema. Solucionado 22:44 07-Nov-10.
    Si tenéis algún problema o detectáis algún error, por favor informad en los comentarios, trataré de solucionarlos.

    3 comentarios:

    1. Wow thanks for that...keep up the good work!

      ResponderEliminar
    2. Don't want to use JD without this anymore :)

      ResponderEliminar
    3. Muchas gracias... desde que conocí el tip, en el 2011, nunca pude dejar de usarlo!

      ResponderEliminar