X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=scripts.git;a=blobdiff_plain;f=archivepics.sh;h=783effd6201a4c2336ed6a6a76d137a43b1ea942;hp=afaf5d4c8e7701be5ba061ba8b8b5b9400d36d3d;hb=0b5965cd1e6ed1758170691ac858b74be6e1ea0b;hpb=78d6c0bc5fb5033c2ad8235fac4f2da27230850f diff --git a/archivepics.sh b/archivepics.sh index afaf5d4..783effd 100755 --- a/archivepics.sh +++ b/archivepics.sh @@ -28,6 +28,14 @@ [[ ${archive_size_min} ]] || archive_size_min=1048576 # 1Mb +# if [[ -z $* ]] && [[ ${PHO_NOTE_1} ]]; then + # echo "$0 ${PHO_NOTE_1}" + # $0 ${PHO_NOTE_1} + # exit 0 +# fi + +export ARCHIVED_PICS="$@" + set -e if [[ ! ${IMAGE_ARCHIVE_DIR} ]]; then @@ -39,9 +47,9 @@ fi for i in "$@"; do - if [[ ! -f ${i/JPG/MOV} ]]; then + if [[ ! -f ${i/JPG/MOV} ]] && [[ ! -f ${i/JPG/3gp} ]]; then - if [[ $(stat --printf=%s $i) -lt ${archive_size_min} ]]; then + if [[ $(stat --printf=%s "$i") -lt ${archive_size_min} ]]; then echo "Image $i is too small." exit 1 fi @@ -54,16 +62,24 @@ done for i in "$@"; do - ref=${i/MOV/JPG} + base=${i/%.???/} + + if [[ -f ${base}.JPG ]]; then ref=${base}.JPG; fi + if [[ -f ${base}.jpg ]]; then ref=${base}.jpg; fi + if [[ -f ${base}.jpeg ]]; then ref=${base}.jpeg; fi + + # echo "ref=${ref}" if [[ -f ${ref} ]]; then - TAG=$(exif --ifd=EXIF -t "Date and Time (original)" ${ref} | grep Value) + echo "Checking ${ref} date" + + TAG=$(exif --ifd=EXIF -t "Date and Time (original)" "${ref}" | grep Value) if [[ ${TAG} ]]; then TIMESTAMP=$(echo ${TAG} | sed -e \ "s/^ *Value: *\([0-9]*\):\([0-9]*\):\([0-9]*\) *\([0-9]*\):\([0-9]*\):\([0-9]*\).*$/\1\2\3\4\5.\6/") - touch -t $TIMESTAMP $i + touch -t $TIMESTAMP "$i" else echo "No exif tag in $i, can not set the date properly." fi @@ -81,12 +97,12 @@ done for i in "$@"; do - ARCHIVING_PATH=$(ls -l --time-style=+%Y/%b --format=verbose $i | awk '{ print $6 }') + ARCHIVING_PATH=$(ls -l --time-style=+%Y/%b --format=verbose "$i" | awk '{ print $6 }') mkdir -p ${IMAGE_ARCHIVE_DIR}/${ARCHIVING_PATH} - echo "Archiving ${IMAGE_ARCHIVE_DIR}/${ARCHIVING_PATH}/$(basename $i)" + echo "Archiving ${IMAGE_ARCHIVE_DIR}/${ARCHIVING_PATH}/"$(basename "$i") - cp -p -i $i ${IMAGE_ARCHIVE_DIR}/${ARCHIVING_PATH} + cp -p -i "$i" ${IMAGE_ARCHIVE_DIR}/${ARCHIVING_PATH} done