Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Ré-écrire tous les fichiers XMP [RÉSOLU]
#1
Bonjour à tous,

Je souhaiterais pouvoir ré-écrire tous les fichiers xmp à partir de la BdD. J'ai parcouru pas mal de ressources, mais je n'ai rien trouvé qui puisse faire cela. Avez vous une idée ?

Merci d'avance !
Mes photos : jpverrue.fr
Répondre
#2
Je pense qu'il faudrait que tu fasses une requête Sql avec library.db.
Répondre
#3
Pourquoi? Normalement les XMP sont synchro avec la BD? Est-ce suite à une mauvaise manip?
--
Pascal - GNU/Debian (sid) - version darktable git/master
http://photos.obry.net
Répondre
#4
Non, pas une mauvaise manip, une manip volontaire.

J'explique. Mes mots clés qui ont été créés avec DT, mais aussi auparavant avec Digikam, étaient écrits avec une majuscule. Malheureusement, je ne sais trop pourquoi, maintenant les mots clés importés de DK arrivent sans majuscule. Ce qui me crée régulièrement des doublons. Doublons qui sont indém..dables, car le filtre de collection ne tient pas compte de la casse. J'ai donc pris la décision de faire l'update dans la BdD. l'opération s'est passée sans problème et je suis très satisfait. Mais je n'ai pas réalisé que la syncho avec les XMP ne se ferai pas automatiquement. Au quotidien, ce n'est pas gênant, car la BdD est prioritaire. Ce qui m'inquiète, c'est le risque de devoir utiliser les XMP pour régénérer une BdD, et dans ce cas, de réimporter les anciennes versions des mots clé. >:-(

J'ai fait le tour des outils, des scripts lua, des options de lancement de darktable et de darktable-cli : rien.
J'ai fait un essai en supprimant les XMP d'un petit dossier (23 photos). Pour qu'ils soient recréés, il faut ouvrir chaque fichier en table noire. J'ai 23600 fichiers importés. je ne me vois vraiment pas faire ça.

Une idée ?
Mes photos : jpverrue.fr
Répondre
#5
Tu veux refaire la base de données avec les .xmp ?
Répondre
#6
Non, ça c'est trivial, il suffit de réimporter. Je veux faire l'inverse ! mettre à jour les XMP à partir de la base de donnée.
Mes photos : jpverrue.fr
Répondre
#7
Tu as une option de fonctionnement "vérifie les fichier xmp modifiées au démarrage". Est-ce que cela fonctionnerait dans ton cas?
--
Pascal - GNU/Debian (sid) - version darktable git/master
http://photos.obry.net
Répondre
#8
Je viens d'essayer de voir comment faire des commandes Sql pour exporter les données de library.db mais Db Browser For SSLite plante sur certains champs.
Répondre
#9
Oui, je connais, mais ça ne fonctionne pas nativement ; faut un peu bidouiller.

La solution c'est de faire au préalable de faire un 'touch' des fichiers XMP. En suite d'ouvrir DT. La fenêtre 'versions modifiées des fichiers trouvée' s'affiche. Ensuite c'est facile : cocher 'tout', et cliquer sur le bouton 'écraser les fichiers XMP sélectionnés'. Roulez jeunesse !!!

J'avais pensé à cette option tout à l'heure, mais pas au touch... Merci Pascal !
Mes photos : jpverrue.fr
Répondre
#10
Voilà, c'est fait. J'ai fait un petit script pour automatiser tout le processus. Le voici si ça peut aider quelqu'un
Code :
#!/bin/bash

sqlite3 -separator '/' ~jpv/.config/darktable/library.db \
       'select folder, filename from images, film_rolls  where images.film_id = film_rolls.id ;' |
while read f
do
               fichier="${f}.xmp"
               # echo "fichier='$fichier'"
               if [ -f "${fichier}" ] ; then
                       touch "${fichier}"
               else
                       echo " $0 : Fichier '${fichier}' introuvable."
               fi
done
echo "fait"
Bonne soirée !
Mes photos : jpverrue.fr
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)