0 votos

¿Cómo iterar sobre un álbum de Photos.app (o un contenedor) utilizando Javascript?

¿Cómo puedo iterar sobre los elementos multimedia de un álbum en Photos.app?

Copiando y editando código online, he llegado hasta aquí:

for (const album of Application("Photos").albums()) {
    console.log("Processing album '" + album.name() + "'")
    for (var idx in album) {
        console.log(idx)
     } 
}

Sin embargo, esto no funciona. Sé que cada álbum en Application("Photos").albums() es un contenedor, pero no he podido encontrar un ejemplo de cómo iterar sobre su contenido usando javascript.
En otro código, ya he creado un javascript Map donde cada clave es el nombre del archivo(+tamaño+ratio) y contiene listas de duplicados (todos menos uno a eliminar).
Iterando a través de los álbumes, quiero extraer las propiedades de los elementos multimedia para comprobar si un elemento debe ser eliminado y, en caso afirmativo, sustituirlos por los duplicados no eliminados.

Se agradece cualquier ayuda o indicación de ejemplos.

1voto

Harmeling Puntos 111

Bien, después de leer https://stackoverflow.com/questions/59471889/jxa-get-containers-of-an-element Descubrí cómo hacerlo:

for (const album of Application("Photos").albums()) {
    console.log("Processing album '" + album.name() + "'")
    for (var photo of album.mediaItems()) {
        console.log(photo.filename())
    }
}

Por lo tanto, la forma correcta de hacerlo es iterar sobre el album.mediatItems() con for (var ... of ...) { ... } .

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