1 votos

¿Cómo obtener la ruta de la imagen seleccionada en Adobe Bridge mediante Applescript?

Estoy tratando de obtener la ruta del archivo padre de una miniatura de imagen seleccionada en Adobe Bridge CS5.1 para pasarla a un shell script. Un Applescript envuelve un pequeño comando de javascript como este:

set js to "app.document.selections[0].spec.parent.name;" # parent of 1st selected image
tell application "Adobe Bridge CS5.1" # target adobe product
    set theResult to do javascript js # fire away, waiting for return value
end tell 

El javascript reporta el valor correcto - He probado la salida dentro de Bridge a través de alert . Por desgracia, el do javascript el comando hace no devuelve cualquier valor, por lo que añadí un return declaración:

set js to "return app.document.selections[0].spec.parent.name;"

arroja un error en Editor AppleScript.app :

error "Adobe Bridge CS5.1 got an error: AppleEvent handler failed." number -10000

¿Qué estoy haciendo mal? NB: Sólo necesito la ruta, no me importa cómo se hace.

2voto

H Michel Puntos 26

Creo que tendrías que pasar por Photoshop usando BridgeTalk para obtener la ruta.

function getPathFromBridge(){
    function script(){
        var Path = new File(encodeURI(app.document.selections[0].spec.parent)); 
        return Path.toSource();
    }
    var filePath='';
    var bt = new BridgeTalk();
    bt.target = "bridge";
    bt.body ="var ftn = " + script.toSource() + "; ftn();";
    bt.onResult = function( inBT ) { filePath = decodeURI(eval( inBT.body));}
    bt.onError = function( inBT ) { filePath = '';}
    bt.send(4);
    if ( undefined == filePath ) filePath = '';
    return decodeURI(filePath); 
}

1voto

Baczek Puntos 150

No se puede utilizar un return en javascript, excepto en una función.

Actualizado : Ok, hice una prueba, si pongo el resultado del comando javascript en una variable javascript, el resultado en AppleScript será esta cadena : indefinido

Por lo tanto, utilice este set js to "app.document.selections[0].parent.spec;"

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