]> git.scottworley.com Git - picsort/blobdiff - pic-mv
Find bash with env
[picsort] / pic-mv
diff --git a/pic-mv b/pic-mv
index 2774a6928fb23674c8c9c2774991231ce2caf715..0309ec0393e23910a1ad4b16296f7721b97340d7 100755 (executable)
--- a/pic-mv
+++ b/pic-mv
@@ -1,6 +1,9 @@
 #!/bin/bash
 
-destdir=/some/path  # Optional: Fill this in here.
+destdir=
+if [[ -e .default-pic-mv-destdir ]];then
+  destdir=$( < .default-pic-mv-destdir )
+fi
 
 exposure=
 rotate=
@@ -13,29 +16,42 @@ while getopts d:e:r: opt;do
 done
 shift `expr $OPTIND - 1`
 
+if [[ -z "$destdir" ]];then
+  echo "Please specify a destdir with -d or .default-pic-mv-destdir" >&2
+  exit 1
+fi
+
 file="$1"
 name="$2"
 
+re_escaped_name=$(sed 's/[?+*.]/\\&/g' <<< "$name")
+
 # Find next number
-max=$(ls "$destdir" | sed -rn "s/^$name ([0-9]+).jpeg$/\1/p" | sort -n | tail -n1)
+max=$(ls "$destdir" | sed -rn "s/^$re_escaped_name ([0-9]+).jpeg$/\1/p" | sort -n | tail -n1)
 if [[ "$max" ]];then
   number=$((max + 1))
 else
   number=1
 fi
 
+out="$destdir/$name $number.jpeg"
+
 if [[ "$file" == *.NEF ]];then
   base="${file%.NEF}"
+  NEFout="$destdir/$name $number.NEF"
   if [[ "$rotate" ]];then
-    echo "NEF rotation not yet implemented" >&2
-    exit 1
+    numeric_exposure=$(dc <<< "2k $exposure 4 / 3.5-p")
+    pics-run-ufraw "$numeric_exposure" "$file" "$out" "$rotate"
   else
-    mv -vi "$exposure/$base.jpeg" "$destdir/$name $number.jpeg"
-    mv -vi "$file" "$destdir/$name $number.NEF"
+    mv -vi "$exposure/$base.jpeg" "$out"
   fi
+  touch -r "$file" "$out"
+  mv -vi "$file" "$NEFout"
+  chmod 644 "$NEFout"
 else
   if [[ "$rotate" ]];then
-    sed -i "s/^# ROBOTS_INSERT_THINGS_HERE\$/&\n\"$name $number.jpeg\" => $rotate," "$destdir/rotations.php"
+    sed -i "s/^# ROBOTS_INSERT_THINGS_HERE\$/\"$name $number.jpeg\" => $rotate,\n&/" "$destdir/rotations.php"
   fi
-  mv -vi "$file" "$destdir/$name $number.jpeg"
+  mv -vi "$file" "$out"
 fi
+chmod 644 "$out"