Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:slyfox:scripts:slyexif [16/06/2017 18:07] Slyfox [Installation] |
utilisateurs:slyfox:scripts:slyexif [16/06/2017 23:15] Slyfox [Utilisation] |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
<code root>apt-get update</code> | <code root>apt-get update</code> | ||
- | <code root>apt-get install yad ffmpeg libimage-exiftool-perl </code> | + | <code root>apt-get install yad libimage-exiftool-perl ffmpeg</code> |
Ensuite il suffit de créer un fichier vierge, le nommer "SlyExif" et de copier/coller le script ci-dessous.\\ | Ensuite il suffit de créer un fichier vierge, le nommer "SlyExif" et de copier/coller le script ci-dessous.\\ | ||
Ligne 22: | Ligne 22: | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
- | Il suffit de faire un double clic sur le fichier "SlyExif" et choisir "Lancer dans un Terminal".\\ | + | Il suffit de faire un double clic sur le fichier "SlyExif" et choisir "Lancer dans un Terminal" ou "Lancer".\\ |
Ensuite choisissons les fichiers auxquels nous voulons supprimer les métadonnées.\\ | Ensuite choisissons les fichiers auxquels nous voulons supprimer les métadonnées.\\ | ||
Ligne 57: | Ligne 57: | ||
"TRUE" "1" "Editer date de création de l'image" \ | "TRUE" "1" "Editer date de création de l'image" \ | ||
"FALSE" "2" "Supprimer métadonnées" | awk -F [\|] '{print $1}') | "FALSE" "2" "Supprimer métadonnées" | awk -F [\|] '{print $1}') | ||
+ | |||
yadID="$?" | yadID="$?" | ||
+ | |||
# Navigation | # Navigation | ||
if [[ "${yadMenu}" -eq "1" ]]; then | if [[ "${yadMenu}" -eq "1" ]]; then | ||
YADFICHIER | YADFICHIER | ||
- | + | ||
elif [[ "${yadMenu}" -eq "2" ]]; then | elif [[ "${yadMenu}" -eq "2" ]]; then | ||
YADFICHIERMULTIPLE | YADFICHIERMULTIPLE | ||
+ | |||
elif [[ $yadID -eq "1" ]]; then | elif [[ $yadID -eq "1" ]]; then | ||
exit | exit | ||
Ligne 72: | Ligne 72: | ||
elif [[ $yadID -eq "252" ]]; then | elif [[ $yadID -eq "252" ]]; then | ||
exit | exit | ||
- | + | ||
fi | fi | ||
} | } | ||
Ligne 90: | Ligne 90: | ||
--button="Menu:1" \ | --button="Menu:1" \ | ||
--button="Suivant:0") | --button="Suivant:0") | ||
+ | |||
yadID="$?" | yadID="$?" | ||
+ | |||
# Navigation | # Navigation | ||
if [[ $yadID -eq "0" ]]; then | if [[ $yadID -eq "0" ]]; then | ||
YADEDIT | YADEDIT | ||
+ | |||
elif [[ $yadID -eq "1" ]]; then | elif [[ $yadID -eq "1" ]]; then | ||
YADMENU | YADMENU | ||
Ligne 102: | Ligne 102: | ||
elif [[ $yadID -eq "252" ]]; then | elif [[ $yadID -eq "252" ]]; then | ||
exit | exit | ||
- | + | ||
fi | fi | ||
} | } | ||
Ligne 109: | Ligne 109: | ||
{ | { | ||
warning="" | warning="" | ||
+ | |||
# Redimensionnement image pour aperçu | # Redimensionnement image pour aperçu | ||
ffmpeg -y -i "${cheminImage}" -vf scale=200:-1 "$HOME/.slyexif/image_tmp.jpeg" | ffmpeg -y -i "${cheminImage}" -vf scale=200:-1 "$HOME/.slyexif/image_tmp.jpeg" | ||
+ | |||
dateTimeOriginal=$(exiftool "${cheminImage}" | awk '/Date\/Time Original/ {print $4}' | awk 'NR==1 {print $0}') | dateTimeOriginal=$(exiftool "${cheminImage}" | awk '/Date\/Time Original/ {print $4}' | awk 'NR==1 {print $0}') | ||
+ | |||
if [[ -z "${dateTimeOriginal}" ]]; then | if [[ -z "${dateTimeOriginal}" ]]; then | ||
dateTimeOriginal=$(date '+%Y:%m:%d') | dateTimeOriginal=$(date '+%Y:%m:%d') | ||
warning=(Avertissement\ la\ date\ et\ l\'heure\ réelles\ de\ l\'image\ n\'ont\ pas\ pu\ être\ trouvées.!gtk-dialog-warning) | warning=(Avertissement\ la\ date\ et\ l\'heure\ réelles\ de\ l\'image\ n\'ont\ pas\ pu\ être\ trouvées.!gtk-dialog-warning) | ||
fi | fi | ||
+ | |||
heureTimeOriginal=$(exiftool "${cheminImage}" | awk '/Date\/Time Original/ {print $5}' | awk 'NR==1 {print $0}') | heureTimeOriginal=$(exiftool "${cheminImage}" | awk '/Date\/Time Original/ {print $5}' | awk 'NR==1 {print $0}') | ||
+ | |||
if [[ -z "${heureTimeOriginal}" ]]; then | if [[ -z "${heureTimeOriginal}" ]]; then | ||
heureTimeOriginal=$(date '+%H:%M:%S') | heureTimeOriginal=$(date '+%H:%M:%S') | ||
fi | fi | ||
+ | |||
yadDate=$( | yadDate=$( | ||
yad --form \ | yad --form \ | ||
Ligne 147: | Ligne 147: | ||
--button="Menu:1" \ | --button="Menu:1" \ | ||
--button="Enregistrer les métadonnées:0") | --button="Enregistrer les métadonnées:0") | ||
+ | |||
yadID="$?" | yadID="$?" | ||
+ | |||
yadDate=$(awk -F[\|] '{print $6,$9}' <<< "${yadDate}}") | yadDate=$(awk -F[\|] '{print $6,$9}' <<< "${yadDate}}") | ||
+ | |||
# Navigation | # Navigation | ||
if [[ $yadID -eq "0" ]]; then | if [[ $yadID -eq "0" ]]; then | ||
EDIT | EDIT | ||
+ | |||
elif [[ $yadID -eq "1" ]]; then | elif [[ $yadID -eq "1" ]]; then | ||
YADMENU | YADMENU | ||
- | + | ||
elif [[ $yadID -eq "2" ]]; then | elif [[ $yadID -eq "2" ]]; then | ||
YADMENU | YADMENU | ||
Ligne 164: | Ligne 164: | ||
elif [[ $yadID -eq "252" ]]; then | elif [[ $yadID -eq "252" ]]; then | ||
exit | exit | ||
- | + | ||
fi | fi | ||
} | } | ||
Ligne 172: | Ligne 172: | ||
exiftool -AllDates="${yadDate}" -overwrite_original "${cheminImage}" | exiftool -AllDates="${yadDate}" -overwrite_original "${cheminImage}" | ||
exiftool "${cheminImage}" | exiftool "${cheminImage}" | ||
+ | |||
# Mémorisation du dernier dossier ouvert | # Mémorisation du dernier dossier ouvert | ||
a=$(awk 'NR==1 {printf "%s\n" ,$0}' <<< "${cheminImage}") | a=$(awk 'NR==1 {printf "%s\n" ,$0}' <<< "${cheminImage}") | ||
b="${a%/*}" | b="${a%/*}" | ||
cheminDossier=$(awk '{printf "%s/" ,$0}' <<< "${b}") | cheminDossier=$(awk '{printf "%s/" ,$0}' <<< "${b}") | ||
+ | |||
YADMENU | YADMENU | ||
} | } | ||
Ligne 195: | Ligne 195: | ||
--button="Menu:1" \ | --button="Menu:1" \ | ||
--button="Suivant:0") | --button="Suivant:0") | ||
+ | |||
yadID="$?" | yadID="$?" | ||
+ | |||
# Navigation | # Navigation | ||
if [[ $yadID -eq "0" ]]; then | if [[ $yadID -eq "0" ]]; then | ||
YADINFOFICHIERNETTOYER | YADINFOFICHIERNETTOYER | ||
+ | |||
elif [[ $yadID -eq "1" ]]; then | elif [[ $yadID -eq "1" ]]; then | ||
YADMENU | YADMENU | ||
Ligne 207: | Ligne 207: | ||
elif [[ $yadID -eq "252" ]]; then | elif [[ $yadID -eq "252" ]]; then | ||
exit | exit | ||
- | + | ||
fi | fi | ||
} | } | ||
Ligne 229: | Ligne 229: | ||
--field=" ":LBL "" \ | --field=" ":LBL "" \ | ||
--field="${cheminImage}":LBL "") | --field="${cheminImage}":LBL "") | ||
+ | |||
yadchoix=$(awk -F[\|] '{print $2}' <<< "${yadchoix}") | yadchoix=$(awk -F[\|] '{print $2}' <<< "${yadchoix}") | ||
+ | |||
yadID="$?" | yadID="$?" | ||
+ | |||
# Navigation | # Navigation | ||
if [[ "${yadID}" -eq "0" ]]; then | if [[ "${yadID}" -eq "0" ]]; then | ||
NETTOYAGE | NETTOYAGE | ||
+ | |||
elif [[ $yadID -eq "1" ]]; then | elif [[ $yadID -eq "1" ]]; then | ||
YADMENU | YADMENU | ||
Ligne 243: | Ligne 243: | ||
elif [[ $yadID -eq "252" ]]; then | elif [[ $yadID -eq "252" ]]; then | ||
exit | exit | ||
- | + | ||
fi | fi | ||
+ | |||
} | } | ||
#======================================================================================================================================= | #======================================================================================================================================= | ||
function NETTOYAGE() | function NETTOYAGE() | ||
{ | { | ||
+ | # Calcul nombre fichiers sélectionnés | ||
IFS=$'\n' | IFS=$'\n' | ||
- | + | ||
+ | nbrFichier=0 | ||
+ | |||
for i in ${cheminImage}; do | for i in ${cheminImage}; do | ||
+ | ((nbrFichier+=1)) | ||
+ | done | ||
- | extention=$(awk -F [.] '{print $NF}' <<< "${i}") | + | pourcentFichier=$(echo "scale=9; 100/${nbrFichier}" | bc) |
+ | pourcent="0" | ||
+ | nbr="1" | ||
+ | |||
+ | IFS=$'\n' | ||
+ | |||
+ | for i in ${cheminImage}; do | ||
+ | |||
+ | extention=$(awk -F [.] '{print $NF}' <<< "${i}") | ||
+ | |||
if [[ ${extention} == "jpg" ]] || [[ ${extention} == "JPG" ]] || | if [[ ${extention} == "jpg" ]] || [[ ${extention} == "JPG" ]] || | ||
[[ ${extention} == "jpeg" ]] || [[ ${extention} == "JPEG" ]] || | [[ ${extention} == "jpeg" ]] || [[ ${extention} == "JPEG" ]] || | ||
Ligne 261: | Ligne 275: | ||
dateSave=$(exiftool "${i}" | awk '/Date\/Time Original/ {print $(NF-1),$NF}') | dateSave=$(exiftool "${i}" | awk '/Date\/Time Original/ {print $(NF-1),$NF}') | ||
- | + | ||
exiftool -all= "${i}" -overwrite_original | exiftool -all= "${i}" -overwrite_original | ||
- | + | ||
if [[ "${yadchoix}" == "FALSE" ]]; then | if [[ "${yadchoix}" == "FALSE" ]]; then | ||
- | + | ||
exiftool -AllDates="${dateSave}" -overwrite_original "${i}" | exiftool -AllDates="${dateSave}" -overwrite_original "${i}" | ||
fi | fi | ||
- | + | ||
exiftool "${i}" | exiftool "${i}" | ||
- | + | ||
# Mémorisation du dernier dossier ouvert | # Mémorisation du dernier dossier ouvert | ||
a=$(awk 'NR==1 {printf "%s\n" ,$0}' <<< "${i}") | a=$(awk 'NR==1 {printf "%s\n" ,$0}' <<< "${i}") | ||
Ligne 276: | Ligne 290: | ||
cheminDossier=$(awk '{printf "%s/" ,$0}' <<< "${b}") | cheminDossier=$(awk '{printf "%s/" ,$0}' <<< "${b}") | ||
+ | pourcent=$(echo "scale=9; (${pourcent} + ${pourcentFichier})" | bc) | ||
+ | pourcentDigit=$(awk '{printf "%d" ,$1}' <<< "${pourcent}") | ||
+ | |||
+ | |||
+ | if [[ "${pourcentDigit}" -ge "100" ]]; then | ||
+ | echo "99" | ||
+ | echo -e "\n#Nombre de fichiers modifiés ${nbr} sur ${nbrFichier}" | ||
+ | sleep 3 | ||
+ | |||
+ | else | ||
+ | echo "${pourcent}" | ||
+ | ((nbr+=1)) | ||
+ | echo -e "\n#Nombre de fichiers modifiés ${nbr} sur ${nbrFichier}" | ||
+ | fi | ||
+ | |||
else | else | ||
- | + | ||
echo "ERREUR ! Fichier pas pris en charge par SlyExif." | echo "ERREUR ! Fichier pas pris en charge par SlyExif." | ||
- | + | ||
fi | fi | ||
- | done | + | done | yad --progress --title="SlyExif" --auto-close --auto-kill |
YADMENU | YADMENU | ||
} | } | ||
#======================================================================================================================================= | #======================================================================================================================================= | ||
+ | |||
# Lancement du script | # Lancement du script | ||
+ | etatPaquet=$(dpkg --get-selections | awk '{if ($1 == "yad") {print $2}}') | ||
+ | [[ "${etatPaquet}" != "install" ]] && echo -e "\nLe paquet \"yad\" n'est pas installé, merci de l'installer.\n" && exit | ||
+ | |||
+ | etatPaquet=$(dpkg --get-selections | awk '{if ($1 == "libimage-exiftool-perl") {print $2}}') | ||
+ | [[ "${etatPaquet}" != "install" ]] && echo -e "\nLe paquet \"libimage-exiftool-perl\" n'est pas installé, merci de l'installer.\n" && exit | ||
+ | |||
+ | etatPaquet=$(dpkg --get-selections | awk '{if ($1 == "ffmpeg") {print $2}}') | ||
+ | [[ "${etatPaquet}" != "install" ]] && echo -e "\nLe paquet \"ffmpeg\" n'est pas installé, merci de l'installer.\n" && exit | ||
+ | |||
cheminDossier="$HOME/Images" | cheminDossier="$HOME/Images" | ||
[[ ! -d "$HOME/.slyexif" ]] && mkdir "$HOME/.slyexif" | [[ ! -d "$HOME/.slyexif" ]] && mkdir "$HOME/.slyexif" | ||
+ | |||
YADMENU | YADMENU | ||
</file> | </file> |