diff --git a/bin/exif-fixdatetime b/bin/exif-fixdatetime index f27d4b2..e0002f5 100755 --- a/bin/exif-fixdatetime +++ b/bin/exif-fixdatetime @@ -1,5 +1,6 @@ #!/bin/bash -export FILELOGLEVEL=ERROR +export FILELOGLEVEL=WARN +export SCRIPT_LOG=~/logs/exif.log parsedatetime() { filename="$(basename "${@}")" @@ -16,6 +17,11 @@ parsedatetime() { result="$(printf "%04d:%02d:%02d %02d:%02d:%02d" "${BASH_REMATCH[2]#0}" "${BASH_REMATCH[3]#0}" "${BASH_REMATCH[4]#0}" "${BASH_REMATCH[6]#0}" "${BASH_REMATCH[7]#0}" "00")" fi + # eYe20130323123316.jpg + if [[ $filename =~ ^(eYe)([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2}).*$ ]]; then + result="$(printf "%04d:%02d:%02d %02d:%02d:%02d" "${BASH_REMATCH[2]#0}" "${BASH_REMATCH[3]#0}" "${BASH_REMATCH[4]#0}" "${BASH_REMATCH[5]#0}" "${BASH_REMATCH[6]#0}" "${BASH_REMATCH[7]#0}")" + fi + echo "$result" return 0 } @@ -25,12 +31,24 @@ fix_datetime () { loginfo "file: $file " newDateTimeOriginal="$(parsedatetime "$file")" loginfo "newDateTimeOriginal: $newDateTimeOriginal" + mime="$(file --mime-type "$file" | awk '{print $NF}')" if [ -n "$newDateTimeOriginal" ]; then - exiftool "-DateTimeOriginal=$newDateTimeOriginal" -if '(not $datetimeoriginal)' "$file" - exiftool '-createdate