Edición de metadatos específicos de iPhoto

2
  

Perpetua: 2011-01-16 ashley $ mdls IMAG0107.jpg

     
    

...

  
     

kMDItemComment="Cat with is out out".

Entonces, aquí está mi pregunta. xattr puede utilizarse para modificar algunos atributos. Por ejemplo:

Perpetua:2011-01-16 ashley$ xattr -l IMAG0107.jpg 
com.apple.metadata:kMDItemFinderComment:
00000000  62 70 6C 69 73 74 30 30 50 08 00 00 00 00 00 00  |bplist00P.......|
00000010  01 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00 00 09                    |..........|
0000002a
Perpetua:2011-01-16 ashley$ 

Pero este no es el atributo que quiero editar. Me imagino que esto se debe a que kMDItemComment es un metadato específico de iPhoto. Mi pregunta sería, ¿cómo hago para editarlo?

    
pregunta Harv 17.01.2011 - 20:45

3 respuestas

2

com.apple.metadata: kMDItemFinderComment está en formato binario lista de propiedades . Usar xattr -p -l -x | tail +2 te da solo el volcado hexadecimal del atributo. Luego puedes canalizar eso a xxd -r para convertirlo de nuevo en un archivo binario.

Desde allí puede abrir ese archivo en el Editor de listas de propiedades de Apple, asumiendo que tiene las herramientas de desarrollador instaladas. A continuación, puede editar la propiedad visualmente.

Entonces deberías poder volver a aplicar el valor editado al archivo usando xxd -p -x y xattr -w -x .

Todo esto es mucho más complicado de lo que uno realmente quiere para una propiedad única que es solo una cadena.

    
respondido por el ohmantics 23.01.2011 - 04:56
2

Uno puede hacer esto en la forma "Mac" (por AppleScript), usando el siguiente script setFinderComment.scpt

#!/usr/bin/osascript
on run argv
    set filePath to POSIX file (item 1 of argv)
    set fileComment to item 2 of argv
    set theFile to filePath as alias
    tell application "Finder" to set comment of theFile to fileComment
end run

Luego lo haces ejecutable chmod a+x setFinderComment.scpt y lo usas como

setFinderComment.scpt filename comment
    
respondido por el Fedxa 19.09.2012 - 23:17
0

El proyecto OpenMeta está utilizando los atributos extendidos para almacenar sus etiquetas. El código fuente está disponible en enlace . Parte de ese proyecto son herramientas de línea de comandos meta abiertas.

Esta herramienta de línea de comandos funciona con un conjunto predefinido de atributos utilizados por OpenMeta, pero como es de código abierto, se puede adaptar fácilmente para permitir la configuración adicional de la línea de comandos para configurar / leer otro atributo extendido.

¿No es una solución directa, sino un camino hacia una solución?

    
respondido por el Miro A. 23.01.2011 - 01:34

Lea otras preguntas en las etiquetas