Check that the reference file is indeed an image, write less warnings.
[scripts.git] / redatepic.sh
index 071702b..3b9962d 100755 (executable)
@@ -1,8 +1,6 @@
 #!/bin/bash
 
 #########################################################################
-# START_IP_HEADER                                                       #
-#                                                                       #
 # This program is free software: you can redistribute it and/or modify  #
 # it under the terms of the version 3 of the GNU General Public License #
 # as published by the Free Software Foundation.                         #
@@ -16,9 +14,7 @@
 # along with this program. If not, see <http://www.gnu.org/licenses/>.  #
 #                                                                       #
 # Written by and Copyright (C) Francois Fleuret                         #
-# Contact <francois.fleuret@idiap.ch> for comments & bug reports        #
-#                                                                       #
-# END_IP_HEADER                                                         #
+# Contact <francois@fleuret.org> for comments & bug reports             #
 #########################################################################
 
 while [ $1 ]; do
@@ -27,9 +23,18 @@ while [ $1 ]; do
 
     REFERENCE=${NAME/MOV/JPG}
 
-    if [[ -f ${REFERENCE} ]]; then
-
-        TAG=$(exif --ifd=EXIF -t "Date and Time (original)" ${REFERENCE} | grep Value)
+    if [[ -f ${REFERENCE} ]] && file ${REFERENCE} | \grep -q image; then
+        # TAG=$(exif --ifd=EXIF -t "Date and Time (original)" ${REFERENCE} | grep Value)
+        TAG=$(exif 2>/dev/null --ifd=EXIF -t 0x9003 ${REFERENCE} | grep Value)
+
+        if [[ ! "${TAG}" ]]; then
+            # echo >&2 "  Cannot find the \"Date and Time (original)\" exif tag in ${REFERENCE}"
+            # echo >&2 "  Looking for \"Date and Time\""
+            TAG=$(exif -t 0x0132 ${REFERENCE} | grep Value)
+            # if [[ ${TAG} ]]; then
+                # echo >&2 "  Ok, found!"
+            # fi
+        fi
 
         if [[ ${TAG} ]]; then
             TIMESTAMP=$(echo ${TAG} | sed -e \