dimanche 29 juillet 2007

Récupération des photos d'un EOS 400 D

Ma moitié a récemment acheté un superbe reflex numérique Canon EOS 400 D. Le problème arrive au moment où il lui faut récupérer les photos prises de l'apareil sur son ordinateur. Hé oui, nous sommmes tous les deux sous GNU/Linux (distribution Gentoo). Donc malheureusement, le support du 400D n'est pas supporté dans le paquet ligphoto2 de notre distribution favorite. Ni une, ni deux, je lui propose de produire un petit script qui lui permetra néamoins de récupérer ses photos.
  • Je vérifie que l'appareil est bien détecté par le kernel:
  • # lsusb Bus 004 Device 001: ID 049a:3110 Canon inc.
  • Une fois gphoto2 installé, je me lance dans le script
#!/bin/sh
## Ce script permet de récupérer les photos d'un appareil photo
## numérique compatible PTP (gphoto2) en passant par
## l'utilisateur root
##
## Dépendances:
##  * bash
##  * date
##  * gphoto2
##  * su

DEST=~/Images/$(date +%F)
USER=$(id -nu)
GROUP=$(id -ng)

echo "Script de récupération des photos"
echo "Répertoire de destination : $DEST"
[ -d "$DEST" ] || {
   echo "Création du répertoire de destination : $DEST"
   mkdir -p $DEST || {
       echo "[Erreur] Impossible de créer le répertoire de destination"
       exit 1
   }
}
cd "$DEST"
echo "Invocation de Gphoto2 en root et récupération des Photos"
su -c "gphoto2 -P ; chown $USER:$GROUP *"
[ $? -eq 0 ] || {
   echo "[Erreur] Problème durant la récupération des photos"
   exit 2
}
echo "Tout c'est bien passé. FIN !"
exit 0
Ce que fait le script :
  1. Création d'un répertoire ~/Images/<date du jour au format "YYYY-MM-DD">
  2. On se place dans le repertoire nouvellement créé
  3. Invocation de gphoto2 et conservation du propriétaire sur les fichiers (utilisateur qui a invoqué la commande)

Aucun commentaire: