Miscellaneous updates.
[scripts.git] / archivepics.sh
index d96db4e..783effd 100755 (executable)
 # 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