X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=scripts.git;a=blobdiff_plain;f=archivepics.sh;h=783effd6201a4c2336ed6a6a76d137a43b1ea942;hp=d96db4e9f068fadd13bcf11eb7b99e7c965498da;hb=0b5965cd1e6ed1758170691ac858b74be6e1ea0b;hpb=2b983c5c7336826b764036e3e1478a5a8159248a diff --git a/archivepics.sh b/archivepics.sh index d96db4e..783effd 100755 --- a/archivepics.sh +++ b/archivepics.sh @@ -24,14 +24,22 @@ # accompanying JPG for the MOV) # (3) Move the JPG and MOV to an archive directory of the form -# ${GP_ARCHIVE_DIR}/year/month, create the directory when necessary. +# ${IMAGE_ARCHIVE_DIR}/year/month, create the directory when necessary. [[ ${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 [[ ! ${GP_ARCHIVE_DIR} ]]; then - echo "You have to set \$GP_ARCHIVE_DIR" >&2 +if [[ ! ${IMAGE_ARCHIVE_DIR} ]]; then + echo "You have to set \$IMAGE_ARCHIVE_DIR" >&2 exit 1 fi @@ -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 ${GP_ARCHIVE_DIR}/${ARCHIVING_PATH} + mkdir -p ${IMAGE_ARCHIVE_DIR}/${ARCHIVING_PATH} - echo "Archiving ${GP_ARCHIVE_DIR}/${ARCHIVING_PATH}/$(basename $i)" + echo "Archiving ${IMAGE_ARCHIVE_DIR}/${ARCHIVING_PATH}/"$(basename "$i") - cp -p -i $i ${GP_ARCHIVE_DIR}/${ARCHIVING_PATH} + cp -p -i "$i" ${IMAGE_ARCHIVE_DIR}/${ARCHIVING_PATH} done