2 votos

AppleScript para salir de la aplicación Transmission

Necesito ayuda para arreglar el AppleScript de una aplicación llamada "Transmission"

Estoy tratando de escribir un código para que salga una vez que las descargas hayan terminado

¿Es este el código adecuado?

    -- Quit Transmission, if running
tell application "System Events"
    if ((count (every process whose name is "Transmission Download")) = 0) then
        tell application "Transmission"
            -- Quit Transmission
            quit
        end tell
    end if
end tell

2voto

moodforaday Puntos 2633

Transmission no es compatible con AppleScript específicamente, por lo que no hay forma de utilizar AppleScript para comprobar si las descargas siguen activas o no.

Hay un debate simultáneo sobre esta idea en https://forum.keyboardmaestro.com/t/applescript-for-transmission-app/15789 pero este es probablemente un mejor lugar para ello, así que resumiré mi respuesta desde allí.

  1. Instalar transmission-cli utilizando brew : brew info transmission-cli

  2. Activa la función "Remoto" de la aplicación Transmission:

Transmission Remote Preferences

Usted no tienen para limitar a 127.0.0.1 pero a menos que necesites acceder desde otro ordenador, no hay nada malo en dejarlo activado.

  1. Habilite la función para eliminar el torrent de la lista de Transmission una vez que se haya realizado la transmisión:

Transmission Management preferences

  1. Ahora puedes ejecutar este script periódicamente:

    !/usr/bin/env zsh -f

    PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

    # the `pgrep` line says 'If Transmission is not running, exit immediately
    # just in case the script happens to be run when the app isn't even running

    pgrep -qx Transmission || exit 0

    STATUS=$(transmission-remote --list | egrep -v '^(ID|Sum:) ')

    if [[ "$STATUS" == "" ]] then osascript -e 'tell application "Transmission" to quit' else echo "Transmission is still active:\n$STATUS" fi

    exit 0

Si Transmission se está ejecutando, pero no hay elementos en la lista, se abandonará.

Es posible que haya otras formas de hacerlo, pero no se me ocurre ninguna (aparte de usar la preferencia de Transmission de ejecutar un script cuando se completa una descarga, y salir de la aplicación entonces, pero eso fallará si hay varias descargas simultáneas activas).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X