HomePage
Materiel
Photo Système et réseau Sous Debian Gnu Linux... ... et Ubuntu Gestion de projet ...informatique Cours Divers Private edit SideBar |
Photo /
ImportPhoto.Import HistoryHide minor edits - Show changes to markup October 20, 2010, at 10:56 PM
by
- Changed line 18 from:
to:
May 06, 2009, at 02:58 PM
by
- Changed line 82 from:
if [ ! -d "$repsrc" ]; then
to:
if [ ! -d "$repsrc" ]; then(:nl:)(:include $Group.GroupFooter:)(:nl:)'
Added lines 159-161:
May 06, 2009, at 02:58 PM
by
- Changed line 158 from:
<< Shellscripts | Index | Retouche >>
to:
<< Shellscripts | Index | Retouche >>
February 12, 2009, at 12:05 AM
by
- Changed lines 2-3 from:
to:
<< Shellscripts | Index | Retouche >>
Changed lines 156-158 from:
@]
to:
@]
<< Shellscripts | Index | Retouche >>
February 07, 2009, at 12:12 AM
by
- Added lines 1-155:
Importer vos photosJ'ai largement adapté un script trouvé sur le forum Ubuntu pour importer et classer automatiquement les photos d'une carte mémoire ou tout autre APN.
Usage: ./photo_import.sh: [-s répertoire source] [-d répertoire destination]
NB : Si les options -s et / ou -d ne sont pas spécifiées le script demandera à l'utilisateur quel(s) répertoire(s) utiliser.
#!/bin/sh #Auteur : Xavier Correyeur sur la base de scripts de Aurélien Coillet, Gio, Anraud et Freebird du forum Ubuntu-fr #Licence GPL #Version 1 : Importe des photos via PTP ou un repertoire quelconque en les triant par date de création #Necessite : exiftime, zenity, gphoto2 ############# ##Fonctions## ############# #### Sortie volontaire par le bouton annuler function sortie { zenity --warning --text="Aucun répertoire spécifié, \nJe ne peux pas continuer, arrêt du script" exit } function copie { for i in `find "$repsrc" -iname *.JPG`; do repimport=`exiftime -tc "$i" | sed "s/Image Created//g" | sed "s/ //g" | sed "s/://g"` repimport=`expr substr "$repimport" 1 8` if [ ! -d "$repcible/$reptmp/$repimport" ]; then echo ">> Création du répertoire $repcible/$reptmp/$repimport" mkdir "$repcible/$reptmp/$repimport" fi if [ "$conserve" != "" ]; then #cp -v "$rep"/*.jpg "$rep"/*.JPG "$rep"/*.cr2 . | zenity --progress --text="Veuillez patienter,\nImportation des photos en cours..." --pulsate --auto-close cp -v "$i" "$repcible/$reptmp/$repimport" else mv -v "$i" "$repcible/$reptmp/$repimport" #mv -v "$rep"/*.jpg "$rep"/*.JPG "$rep"/*.cr2 . | zenity --progress --text="Veuillez patienter,\nDéplacement des photos en cours..." --pulsate --auto-close fi done } ############# ##Programme## ############# while getopts 's:d:' name ## les options acceptant un paramètres sont suivies de ":" do case $name in s) srcflag=1 repsrc="$OPTARG" echo "La source a été définie" ;; d) destflag=1 repcible="$OPTARG" echo "La cible a été définie" ;; ?) printf "Usage: %s: [-s répertoire source] [-d répertoire destination]\n" $0 exit 2 ;; esac done shift $(($OPTIND -1)) printf "Arguments restants : %s\n" "$*" # choix du répertoire source if [ ! -d "$repsrc" ]; then #detection de l'appareil photo : gphoto2 => si il y a quelque chose, proposer de prendre l'appareil photo detecte et alors -> action. if [ "$(gphoto2 --auto-detect | wc -l)" -ge 3 ]; then apn="$(gphoto2 --auto-detect)" zenity --question --text="Utiliser l'appareil détecté ? \n\n$apn" --title="Détection automatique" okgphoto=$? else okgphoto=1 fi # Si pas d'appareil detecté ou annulation, choisir un repertoire avec zenity --file-selection --directory contenant des photos (ou alors selectionner les photos), puis action if [ $okgphoto = 1 ]; then repsrc=$(zenity --file-selection --directory --title "Choix du répertoire à importer") fi fi if [ ! -d "$repsrc" ]; then sortie fi # choix des actions a effectuer action=$(zenity --list --checklist\ --width=390 --height=215\ --title "Que faire ?"\ --text "Sélectionner les actions à réaliser, ou annuler."\ --column=" " --column="Description"\ TRUE "Importer les photos"\ TRUE "Conserver les photos sur l'appareil") import=$(echo "$action" | grep "Importer les photos") if [ "$action" = "" ]; then sortie elif [ "$import" = "" ]; then zenity --warning --text="Rien à faire, \nJe ne peux pas continuer, arrêt du script" exit fi # choix du repertoire cible if [ ! -d "$repcible" ]; then repcible=$(zenity --file-selection --directory --title "Choix du répertoire cible" --text "Choisir ici le répertoire de base où seront copiées les photos :") fi if [ ! -d "$repcible" ]; then sortie fi # import des photos dans un repertoire temporaire conserve=$(echo "$action" | grep "Conserver les photos sur l'appareil") reptmp="photo_import" if [ ! -d "$repcible/$reptmp" ]; then mkdir "$repcible/$reptmp" fi if [ $okphoto=1 ]; then #pas PTP copie | zenity --progress --text="Veuillez patienter,\nImport des photos en cours..." --pulsate --auto-close else #PTP cd $repbase if [ "$conserve" != "" ]; then gphoto2 --get-all-files 2> /dev/null | zenity --progress --text="Veuillez patienter,\nImportation des photos en cours..." --pulsate --auto-close else gphoto2 --get-all-files 2> /dev/null | zenity --progress --text="Veuillez patienter,\nImportation des photos en cours..." --pulsate --auto-close gphoto2 --delete-all-files --recurse 2> /dev/null | zenity --progress --text="Veuillez patienter,\nSuppression des photos en cours..." --pulsate --auto-close fi fi if [ "${PIPESTATUS[0]}" != "0" ]; then zenity --error --text="Une erreur est survenue lors de l'importation des photos de l'appareil.\nArrêt du script." --title="Erreur" exit fi # Fin du programme zenity --info --text="Import terminé !" exit |