17-06-18, 21:26
(Modification du message : 17-06-18, 21:45 par aurelienpierre.)
Pour faire suite à mon tuto basé sur mes bétises : https://darktable.fr/forum/showthread.php?tid=1676
À une époque, j'ai changé de configuration pour le nommage des répertoires d'importation : j'ai mis un slash (/) derrière le nom du dossier. Ça donnait $(YEAR)-$(MONTH)-$(DAY)-$(JOBCODE)/.
Le problème, c'est que darktable lie les pellicules avec leur répertoire exact, incluant le / (ou pas, s'il n'est pas entré). Donc, j'avais une partie de mes pellicules liées sans / final (avant 2016), et une autre avec / final.
Aucun problème, me direz vous. Oui, mais là, en refaisant un tour de toutes mes photos, il me semble qu'il me manque des vieux shoots dans ma base de données. Pour être sûr, je refais une importation récursive de tout le disque externe qui contient mes photos. En principe, dt ne devrait pas réimporter les photos déjà en base de données.
Sauf que, lors de l'importation récursive, darktable lie les pellicules avec le répertoire sans / final. Je me retrouve donc avec toutes mes photos entre 2016 et 2018 en doublon car dt ne détecte pas que la pellicule liée avec / et la pellicule liée sans / sont une seule et même pellicule, pour lui, le répertoire est différent, donc il les réimporte sous un autre répertoire. Certaines pellicules comportent alors plus de photos dans le doublon réimporté…
Bref, il me faut trouver les répertoires incriminés et virer le / final.
La requête SQLite3 est :
En rouvrant dt, les doublons ont disparus de l'interface, par contre je n'ai pas vérifié quelle version des doublons il a conservé. En regardant dans la base de données si j'ai des images en doubles (d'après leur nom) :
je me rends compte que certaines photos sont enregistrées 2 à 12 fois… Ma base de données fait 500 Mo, ça peut valoir la peine de dégraisser. En plus, comme j'ai activé la synchronisation des XMP avec la base de données, en principe j'ai donc N fois exactement le même développement enregistré.
On supprime les images doublons :
Puis les pellicules doublons :
Bref, pensez à ça quand vous choisissez le répertoire d'importation des photos.
À une époque, j'ai changé de configuration pour le nommage des répertoires d'importation : j'ai mis un slash (/) derrière le nom du dossier. Ça donnait $(YEAR)-$(MONTH)-$(DAY)-$(JOBCODE)/.
Le problème, c'est que darktable lie les pellicules avec leur répertoire exact, incluant le / (ou pas, s'il n'est pas entré). Donc, j'avais une partie de mes pellicules liées sans / final (avant 2016), et une autre avec / final.
Aucun problème, me direz vous. Oui, mais là, en refaisant un tour de toutes mes photos, il me semble qu'il me manque des vieux shoots dans ma base de données. Pour être sûr, je refais une importation récursive de tout le disque externe qui contient mes photos. En principe, dt ne devrait pas réimporter les photos déjà en base de données.
Sauf que, lors de l'importation récursive, darktable lie les pellicules avec le répertoire sans / final. Je me retrouve donc avec toutes mes photos entre 2016 et 2018 en doublon car dt ne détecte pas que la pellicule liée avec / et la pellicule liée sans / sont une seule et même pellicule, pour lui, le répertoire est différent, donc il les réimporte sous un autre répertoire. Certaines pellicules comportent alors plus de photos dans le doublon réimporté…
Bref, il me faut trouver les répertoires incriminés et virer le / final.
La requête SQLite3 est :
Code :
update film_rolls set folder=rtrim(folder, '/');
En rouvrant dt, les doublons ont disparus de l'interface, par contre je n'ai pas vérifié quelle version des doublons il a conservé. En regardant dans la base de données si j'ai des images en doubles (d'après leur nom) :
Code :
SELECT filename, COUNT(*) c FROM images GROUP BY filename HAVING c > 1;
je me rends compte que certaines photos sont enregistrées 2 à 12 fois… Ma base de données fait 500 Mo, ça peut valoir la peine de dégraisser. En plus, comme j'ai activé la synchronisation des XMP avec la base de données, en principe j'ai donc N fois exactement le même développement enregistré.
On supprime les images doublons :
Code :
DELETE FROM images WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM images
GROUP BY filename
);
Puis les pellicules doublons :
Code :
DELETE FROM film_rolls WHERE rowid NOT IN (
SELECT MIN(rowid)
FROM film_rolls
GROUP BY folder
);
Bref, pensez à ça quand vous choisissez le répertoire d'importation des photos.
Aurélien, photographe portraitiste, spécialiste calcul.
Développeur de filmique, égaliseur de tons, balance couleur, etc.
darktable est mon métier, pensez à m'aider :
Développeur de filmique, égaliseur de tons, balance couleur, etc.
darktable est mon métier, pensez à m'aider :