0 votos

Cómo crear un nuevo flujo de trabajo de Automator mediante AppleScript

El título lo dice todo: quiero usar AppleScript para crear un nuevo flujo de trabajo en Automator. Al parecer, esto se puede hacer pero al mirar el diccionario de ScriptEditor para Automator, realmente no sé a dónde ir desde allí.

Tenga en cuenta que soy no tratando de crear un flujo de trabajo de Automator para ejecutar algún AppleScript (el flujo de trabajo en realidad estará ejecutando un shell script).

1voto

red_menace Puntos 111

Automator es bastante tonto incluso en un buen día. Las principales cosas que hay que tener en cuenta al crear un flujo de trabajo mediante programación son las siguientes acciones bundle identifier y su settings . Estos se pueden encontrar mirando la acción de Info.plist , o usando algo como lo siguiente en el editor de script:

tell application "Automator"
   set actionID to first item of (get id of Automator actions whose name is "Run Shell Script") -- or whatever
   log result
   log (get name of settings of Automator action id actionID)
end tell

Para el Run Shell Script acción, esos serían "com.apple.RunShellScript" y {"inputMethod", "CheckedForUserDefaultShell", "source", "COMMAND_STRING", "shell"} .

Los ajustes son los que se encuentran en la interfaz de usuario de la acción, y varían en función de lo que hace la acción y de los ajustes que expone. Para el Run Shell Script acción, los principales serían "COMMAND_STRING" que es el texto script del campo de texto, y "inputMethod" que es un índice en el Pass input: elemento del menú.

Otro elemento que posiblemente hay que tener en cuenta es el índice de la acción en el flujo de trabajo, pero a menos que vaya a mover las acciones, lo más probable es que sólo tenga que añadirlas al final del flujo de trabajo.

No parece haber una propiedad para establecer el tipo de documento, pero para un flujo de trabajo regular puede aceptar el valor predeterminado con una pulsación de tecla, o simplemente establecer manualmente el tipo de flujo de trabajo después de que el flujo de trabajo se crea detrás de la hoja de elección de Automator.

Después de todo eso, un script para crear un flujo de trabajo de Automator con un Run Shell Script la acción sería algo así como:

set theScript to "for f in \"$@\"
do
   echo \"$f\"
done" -- the shell script

tell application "Automator"
   set actionID to Automator action id "com.apple.RunShellScript"
   tell (make new workflow)
      add actionID to it -- add to the end of the workflow
      tell last Automator action
         set value of setting "inputMethod" to 1 -- arguments menu
         set value of setting "COMMAND_STRING" to theScript
      end tell
   end tell
   activate
   # tell application "System Events" to keystroke return -- default workflow
end tell

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