#!/bin/ksh
#
## Script pour renommer les fichiers JPEG avec la date et l'heure de capture

renommer() {

filename=$1
dir="$(dirname "$filename")"

# Lire la date et heure de l'entête Exif, retirer les espaces et TAB au début et à la fin
if jhead "$filename" | grep 'Date/Time'
then
	datetime="$(jhead "$filename" | grep 'Date/Time' | awk 'BEGIN { FS="[:]"} \
	{print $2$3$4$5$6}' | sed 's/^[ 	]*//;s/[ 	]*$//' )"
	date="$(echo $datetime | cut -d ' ' -f 1)"
	heure="$(echo $datetime | cut -d ' ' -f 2)"
	gdt="$date"_"$heure"
elif jhead "$filename" | grep 'File date'
then
	#Si pas de date de création conserver le nom original car la date de modification peut être la même pour plusieurs images
	#datetime="$(jhead "$filename" | grep 'File date' | awk 'BEGIN { FS="[:]"} \
	#{print $2$3$4$5$6}' | sed 's/^[ 	]*//;s/[ 	]*$//' )"
	#date="$(echo $datetime | cut -d ' ' -f 1)"
	#heure="$(echo $datetime | cut -d ' ' -f 2)"
	#gdt="$date"_"$heure"_"fd"
	gdt="${filename%\.jpg}"
else
	gdt="${filename%\.jpg}"
fi

echo "$filename" "$dir/$gdt.jpg";

nom="$(echo $filename | awk -F"." '{print $1}')"
extension="$(echo $filename | awk -F"." '{print $NF}')"

# Valider qu'il s'agit d'une image JPEG
if [ $(echo $extension | grep -Ei "jpg|jpeg") ];
then
	# Renommer le fichier RAW s'il existe
	if test -f "$nom.RW2"; then
		#echo "RW2 existe"
		mv "$nom.RW2" "$dir/$gdt.RW2";
	fi
	# Renommer le fichier JPEG
	mv "$filename" "$dir/$gdt.jpg";
else
	echo "$filename n'est pas un fichier JPEG";
fi
}

for file in "$@";
do
	renommer "$file";
done

#echo $gdt
#echo "Nom: $nom"
#echo "Commentaire: $comment"
#echo "Extension: " $filename | awk -F"." '{print $NF}' | grep -E "jpg|JPG|jpeg|JPEG|RW2"
