Existe uma maneira de ler tags de imagem de darktable de linha de comando, ou seja, algo como darktable --get-tags myimage.jpg
retornaria todas as tags desta imagem.
Como eu posso marcar uma imagem ou modificar as tags da linha de comando, de forma que as tags sejam integradas ao banco de dados da mesa escura?
Editar
darktable parece usar arquivos e tags do sidmp no arquivo sidmp como
<dc:subject>
<rdf:Seq>
<rdf:li>myTag1</rdf:li>
<rdf:li>myTag2</rdf:li>
</rdf:Seq>
</dc:subject>
<lr:hierarchicalSubject>
<rdf:Seq>
<rdf:li>myTag1</rdf:li>
<rdf:li>myTag2</rdf:li>
</rdf:Seq>
</lr:hierarchicalSubject>
No entanto, não vejo como ler, definir e modificar a linha de comando. Meu primeiro pensamento foi usar sed
ou awk
, mas esses são para coisas em uma única linha.
Outra abordagem seria ler e gravar diretamente no banco de dados do darktable, que é usado adicionalmente nos arquivos xmp.
Edit2
Acabei de perceber que exiftool
pode definir tags de arquivos secundários do xmp: Por exemplo
exiftool -Subject=myNewTag myimage.jpg.xmp
exiftool -'Hierarchical*Subject*'=myNewTag myimage.jpg.xmp
exclui todas as tags e define myNewTag
como a única tag. Ou
exiftool -Subject+=myAdditionalTag myimage.jpg.xmp
exiftool -'Hierarchical*Subject*'+=myAdditionalTag myimage.jpg.xmp
adiciona a tag myAdditionalTag
à lista de tags.
Em seguida, verifiquei a opção look for updated xmp files on startup
no darktable e esperei que ela atualizasse as tags enquanto recarregar. No entanto, mesmo que eu tenha excluído as tags antigas, como no primeiro caso, a darktable mostra a tag newtag e as tags antigas (removidas).
Então, isso não parece ser o caminho a seguir.
Tags command-line darktable