Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
images "tronquées"
#1
Bonjour,

Une petite question concernant l'affichage des photos dans la table lumineuse, s'il vous plaît?
Pourquoi certaines photos ne veulent pas s'ouvrir et sont remplacées par des dessins cabalistes blancs sur fond noir ?
[Image: darktable.png]

Je vous remercie.
Cordialement.
Christian
Répondre
#2
darktable affiche une tête de mort quand il ne peut pas afficher la photo qu'il connaît pourtant dans sa BdD. Cela arrive essentiellement quand tu déplaces, renommes, supprimes une/des photo(s) en dehors de darktable ; avec un explorateur de fichier par exemple. Le contenu de la BdD et le contenu du/des dossier(s) ne sont alors plus synchrones et les photos introuvables sont remplacées par des têtes de mort.
Mes photos : jpverrue.fr
Répondre
#3
Salut, tu peux utiliser ce script darktable fermé:
c'est un script que j'ai récupéré sur le net (p-e même ici) mais malheureusement je ne peux pas citer la source
car je ne retrouve pas la page en question.
En revanche ça fonctionne nickel pour nettoyer la bd de DT.
Je crois avoir compris que dans la future version une fonction similaire sera intégrée.

Code :
#!/bin/bash
#
#    DARKTABLE DATABASE CLEANER
#
#       This script removes from the database the files
#   that are not located where they are supposed to be.
#
#       USAGE :
#   ./darktable_db_cleaner.sh
#       Will use the database located in :
#         ~/.config/darktable/library.db
#
#   ./darktable_db_cleaner.sh /path/to/library.ext
#       Will use the specified database
#
# Created by Rufus Wilson
#   contact : marsou75@gmail.com
#


if [ ! "`type -t sqlite3`"=="file" ] ; then
   echo "sqlite3 is required"
   sudo apt-get install sqlite3
fi

if [ -f "$1" ] ; then
   library="$1"
else
   library="/home/"$USER"/.config/darktable/library.db"
fi

for film_roll_id in `sqlite3 -noheader -list -interactive $library "SELECT id FROM film_rolls WHERE 1 ORDER BY id ASC;"`
do
   film_roll_folder="`sqlite3 -noheader -list -interactive $library "SELECT folder FROM film_rolls WHERE id=$film_roll_id ORDER BY id ASC;"`"
   echo "***  "$film_roll_folder"  ***"

   echo "-- cleaning database"
   for photo_id in `sqlite3 -noheader -list -interactive $library "SELECT id FROM images WHERE film_id=$film_roll_id ORDER BY filename ASC;"`
   do
       photo_filename=`sqlite3 -noheader -list -interactive $library "SELECT filename FROM images WHERE id=$photo_id ORDER BY filename ASC;"`
       if [ ! -f "$film_roll_folder/$photo_filename" ] ; then
           echo $photo_filename" deleted"
           sqlite3 -noheader -list -interactive $library "DELETE FROM images WHERE id=$photo_id;"
       fi
   done
   nb=`sqlite3 -noheader -list -interactive $library "SELECT count(id) FROM images WHERE film_id=$film_roll_id ORDER BY filename ASC;"`
   if [ "$nb" -eq "0" ] ; then
       sqlite3 -noheader -list -interactive $library "DELETE FROM film_rolls WHERE id=$film_roll_id;"
   fi
   echo "    ->cleaned"
done

# Shrink the size of database
sqlite3 -noheader -list -interactive $library "VACUUM"
Répondre
#4
Bonsoir,

Bien le merci aux 2 correspondants qui m'ont répondu !!! Sympa de votre part.
Comment puis-je faire pour activer le script que tu proposes, Pluton ? Je ne suis pas un expert de l'informatique , et puis l'âge étant là...... pas toujours facile d'assimiler les nouvelles choses.

Merci.

Cordialement.

Christian
Répondre
#5
Oula,
c'est une bien drôle de réponse...
J'ai toutes les langues affichées.

Tu copies le script dans un fichier texte tu le nommes:
Code :
darktable_db_cleaner.sh


tu ouvres un terminal dans le même répertoire, tu fais un:
Code :
chmod +x darktable_db_cleaner.sh

et tu fais:
Code :
./darktable_db_cleaner.sh
Répondre
#6
L'autre solution simple (si tu as bien déplacé les images hors dt) est de les sélectionner et de cliquer sur [enlever] dans le module [images sélectionnées] de la table lumineuse.

Et si c'est le cas... ne jamais jamais mais vraiment jamais déplacer ou renommer une image hors de darktable Smile
Répondre
#7
Bonsoir Pobry,

Merci pour ton aide ; apparemment, c'est le même principe que Lightroom ( ne jamais déplacer ou manipuler une photo en dehors de lightroom ....)

Bien à toi.

Christian
Répondre
#8
Christian, tu as un problème en postant des messages.
Tu embarques dans chaque post, après ton texte, tout une liste de pays plus encore quelques informations qui semblent provenir d'une page web.Pour faciliter la lecture j'ai édité tes posts et enlevé le surplus, mais ce serait sympa si tu pouvais éviter cela directement. Merci !

(28-11-17, 19:03)CHRISTIAN a écrit : Bonsoir Pobry,

Merci pour ton aide ; apparemment, c'est le même principe que Lightroom ( ne jamais déplacer ou manipuler une photo en dehors de lightroom ....)

Bien à toi.

Christian

Effectivement, c'est le même principe de fonctionnement et donc les mêmes symptômes
Mes photos : jpverrue.fr
Répondre
#9
Oui même principe, tous les deux utilisent une base de données contenant des références aux images. D'ailleurs peu de gens le savent mais dans les deux cas c'est SQlite (base de donnée embarquée libre).
Répondre
#10
Bonsoir jpverrue,

C'est Christian ; désolé pour les erreurs que j'ai commises ; tu me dis que j'embarque dans mes posts une liste de pays..... je ne me suis rendu compte de rien.... Je ne comprends pas.
Dorénavant, je ferai attention de ne plus commettre de tels impairs.
Merci à toi pour l'édition de mes posts.

Cordialement.
Répondre


Atteindre :


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