diff --git a/bin/ricoh b/bin/ricoh index 6262db4..6a95a15 100755 --- a/bin/ricoh +++ b/bin/ricoh @@ -1,5 +1,37 @@ #!/bin/sh -mkdir /tmp/ricoh -cd /tmp/ricoh -gphoto2 --auto-detect --get-all-files +die() { + printf '%s: %s.\n' "$(basename "$0")" "$1" >&2 + exit 1 +} + +sudo mount /dev/sda1 /media/ricoh +trap 'sudo umount /media/ricoh' EXIT + +# make sure it's da right ting +test -d /media/ricoh/DCIM/101RICOH || + die "picture dir not found" + +ls /media/ricoh/DCIM/101RICOH/*.JPG 2>&1 >/dev/null || + die "no jpgs found" + +# bak that shit up +imgdir="$HOME/Pictures/ricoh/$(date +%Y-%m-%d)" +mkdir -p "$imgdir" +cp /media/ricoh/DCIM/101RICOH/*.JPG "$imgdir" + +# convert to ente.io uploadable format +tmpdir="$(mktemp -d /tmp/ricoh_webp.XXXXXX)" +for i in "$imgdir"/*.JPG; do + test -f "$i" || + die "$i is not a file" + b="$(basename "$i" .JPG)" + ffmpeg -i "$i" \ + -c:v libwebp \ + -lossless 0 \ + -q:v 80 \ + -compression_level 6 \ + "$tmpdir/$b.webp" +done + +printf "%s\n" "$tmpdir"